@import url(https://use.fontawesome.com/releases/v5.13.0/css/all.css);.ReactTable{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:1px solid rgba(0,0,0,0.1);}.ReactTable *{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactTable .rt-table{-ms-flex:auto 1;flex:auto 1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;width:100%;border-collapse:collapse;overflow:auto}.ReactTable .rt-thead{-ms-flex:1 0 auto;flex:1 0 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.ReactTable .rt-thead.-headerGroups{background:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.05)}.ReactTable .rt-thead.-filters{border-bottom:1px solid rgba(0,0,0,0.05);}.ReactTable .rt-thead.-filters input,.ReactTable .rt-thead.-filters select{border:1px solid rgba(0,0,0,0.1);background:#fff;padding:5px 7px;font-size:inherit;border-radius:3px;font-weight:normal;outline-width:0}.ReactTable .rt-thead.-filters .rt-th{border-right:1px solid rgba(0,0,0,0.02)}.ReactTable .rt-thead.-header{-webkit-box-shadow:0 2px 15px 0 rgba(0,0,0,0.15);box-shadow:0 2px 15px 0 rgba(0,0,0,0.15)}.ReactTable .rt-thead .rt-tr{text-align:center}.ReactTable .rt-thead .rt-th,.ReactTable .rt-thead .rt-td{padding:5px 5px;line-height:normal;position:relative;border-right:1px solid rgba(0,0,0,0.05);-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.175,.885,.32,1.275);transition:-webkit-box-shadow .3s cubic-bezier(.175,.885,.32,1.275);-o-transition:box-shadow .3s cubic-bezier(.175,.885,.32,1.275);transition:box-shadow .3s cubic-bezier(.175,.885,.32,1.275);transition:box-shadow .3s cubic-bezier(.175,.885,.32,1.275), -webkit-box-shadow .3s cubic-bezier(.175,.885,.32,1.275);-webkit-box-shadow:inset 0 0 0 0 transparent;box-shadow:inset 0 0 0 0 transparent;}.ReactTable .rt-thead .rt-th.-sort-asc,.ReactTable .rt-thead .rt-td.-sort-asc{-webkit-box-shadow:inset 0 3px 0 0 rgba(0,0,0,0.6);box-shadow:inset 0 3px 0 0 rgba(0,0,0,0.6)}.ReactTable .rt-thead .rt-th.-sort-desc,.ReactTable .rt-thead .rt-td.-sort-desc{-webkit-box-shadow:inset 0 -3px 0 0 rgba(0,0,0,0.6);box-shadow:inset 0 -3px 0 0 rgba(0,0,0,0.6)}.ReactTable .rt-thead .rt-th.-cursor-pointer,.ReactTable .rt-thead .rt-td.-cursor-pointer{cursor:pointer}.ReactTable .rt-thead .rt-th:last-child,.ReactTable .rt-thead .rt-td:last-child{border-right:0}.ReactTable .rt-thead .rt-th:focus{outline-width:0}.ReactTable .rt-thead .rt-resizable-header{overflow:visible;}.ReactTable .rt-thead .rt-resizable-header:last-child{overflow:hidden}.ReactTable .rt-thead .rt-resizable-header-content{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.ReactTable .rt-thead .rt-header-pivot{border-right-color:#f7f7f7}.ReactTable .rt-thead .rt-header-pivot:after,.ReactTable .rt-thead .rt-header-pivot:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.ReactTable .rt-thead .rt-header-pivot:after{border-color:rgba(255,255,255,0);border-left-color:#fff;border-width:8px;margin-top:-8px}.ReactTable .rt-thead .rt-header-pivot:before{border-color:rgba(102,102,102,0);border-left-color:#f7f7f7;border-width:10px;margin-top:-10px}.ReactTable .rt-tbody{-ms-flex:99999 1 auto;flex:99999 1 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;}.ReactTable .rt-tbody .rt-tr-group{border-bottom:solid 1px rgba(0,0,0,0.05);}.ReactTable .rt-tbody .rt-tr-group:last-child{border-bottom:0}.ReactTable .rt-tbody .rt-td{border-right:1px solid rgba(0,0,0,0.02);}.ReactTable .rt-tbody .rt-td:last-child{border-right:0}.ReactTable .rt-tbody .rt-expandable{cursor:pointer;-o-text-overflow:clip;text-overflow:clip}.ReactTable .rt-tr-group{-ms-flex:1 0 auto;flex:1 0 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.ReactTable .rt-tr{-ms-flex:1 0 auto;flex:1 0 auto;display:-ms-inline-flexbox;display:inline-flex}.ReactTable .rt-th,.ReactTable .rt-td{-ms-flex:1 0 0px;flex:1 0;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:7px 5px;overflow:hidden;-webkit-transition:.3s ease;-o-transition:.3s ease;transition:.3s ease;-webkit-transition-property:width,min-width,padding,opacity;-o-transition-property:width,min-width,padding,opacity;transition-property:width,min-width,padding,opacity;}.ReactTable .rt-th.-hidden,.ReactTable .rt-td.-hidden{width:0 !important;min-width:0 !important;padding:0 !important;border:0 !important;opacity:0 !important}.ReactTable .rt-expander{display:inline-block;position:relative;margin:0;color:transparent;margin:0 10px;}.ReactTable .rt-expander:after{content:'';position:absolute;width:0;height:0;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) rotate(-90deg);-ms-transform:translate(-50%,-50%) rotate(-90deg);transform:translate(-50%,-50%) rotate(-90deg);border-left:5.04px solid transparent;border-right:5.04px solid transparent;border-top:7px solid rgba(0,0,0,0.8);-webkit-transition:all .3s cubic-bezier(.175,.885,.32,1.275);-o-transition:all .3s cubic-bezier(.175,.885,.32,1.275);transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.ReactTable .rt-expander.-open:after{-webkit-transform:translate(-50%,-50%) rotate(0);-ms-transform:translate(-50%,-50%) rotate(0);transform:translate(-50%,-50%) rotate(0)}.ReactTable .rt-resizer{display:inline-block;position:absolute;width:36px;top:0;bottom:0;right:-18px;cursor:col-resize;z-index:10}.ReactTable .rt-tfoot{-ms-flex:1 0 auto;flex:1 0 auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 0 15px 0 rgba(0,0,0,0.15);box-shadow:0 0 15px 0 rgba(0,0,0,0.15);}.ReactTable .rt-tfoot .rt-td{border-right:1px solid rgba(0,0,0,0.05);}.ReactTable .rt-tfoot .rt-td:last-child{border-right:0}.ReactTable.-striped .rt-tr.-odd{background:rgba(0,0,0,0.03)}.ReactTable.-highlight .rt-tbody .rt-tr:not(.-padRow):hover{background:rgba(0,0,0,0.05)}.ReactTable .-pagination{z-index:1;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:3px;-webkit-box-shadow:0 0 15px 0 rgba(0,0,0,0.1);box-shadow:0 0 15px 0 rgba(0,0,0,0.1);border-top:2px solid rgba(0,0,0,0.1);}.ReactTable .-pagination input,.ReactTable .-pagination select{border:1px solid rgba(0,0,0,0.1);background:#fff;padding:5px 7px;font-size:inherit;border-radius:3px;font-weight:normal;outline-width:0}.ReactTable .-pagination .-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:100%;border:0;border-radius:3px;padding:6px;font-size:1em;color:rgba(0,0,0,0.6);background:rgba(0,0,0,0.1);-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;cursor:pointer;outline-width:0;}.ReactTable .-pagination .-btn[disabled]{opacity:.5;cursor:default}.ReactTable .-pagination .-btn:not([disabled]):hover{background:rgba(0,0,0,0.3);color:#fff}.ReactTable .-pagination .-previous,.ReactTable .-pagination .-next{-ms-flex:1;flex:1 1;text-align:center}.ReactTable .-pagination .-center{-ms-flex:1.5;flex:1.5 1;text-align:center;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.ReactTable .-pagination .-pageInfo{display:inline-block;margin:3px 10px;white-space:nowrap}.ReactTable .-pagination .-pageJump{display:inline-block;}.ReactTable .-pagination .-pageJump input{width:70px;text-align:center}.ReactTable .-pagination .-pageSizeOptions{margin:3px 10px}.ReactTable .rt-noData{display:block;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(255,255,255,0.8);-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;z-index:1;pointer-events:none;padding:20px;color:rgba(0,0,0,0.5)}.ReactTable .-loading{display:block;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(255,255,255,0.8);-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;z-index:-1;opacity:0;pointer-events:none;}.ReactTable .-loading > div{position:absolute;display:block;text-align:center;width:100%;top:50%;left:0;font-size:15px;color:rgba(0,0,0,0.6);-webkit-transform:translateY(-52%);-ms-transform:translateY(-52%);transform:translateY(-52%);-webkit-transition:all .3s cubic-bezier(.25,.46,.45,.94);-o-transition:all .3s cubic-bezier(.25,.46,.45,.94);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.ReactTable .-loading.-active{opacity:1;z-index:2;pointer-events:all;}.ReactTable .-loading.-active > div{-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%)}.ReactTable .rt-resizing .rt-th,.ReactTable .rt-resizing .rt-td{-webkit-transition:none !important;-o-transition:none !important;transition:none !important;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rc-tabs {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.rc-tabs-bar,
.rc-tabs-nav-container {
  font-size: 14px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  position: relative;
  white-space: nowrap;
  outline: none;
  zoom: 1;
  -webkit-transition: padding .45s;
  -o-transition: padding .45s;
  transition: padding .45s;
}
.rc-tabs-ink-bar {
  z-index: 1;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: -3px;
  background-color: #108ee9;
  -webkit-transform-origin: 0 0;
          -ms-transform-origin: 0 0;
      transform-origin: 0 0;
}
.rc-tabs-ink-bar-animated {
  transition: -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  -o-transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
}
.rc-tabs-tab-prev,
.rc-tabs-tab-next {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 1;
  line-height: 36px;
  cursor: pointer;
  border: none;
  background-color: transparent;
  position: absolute;
}
.rc-tabs-tab-prev-icon,
.rc-tabs-tab-next-icon {
  position: relative;
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: inherit;
  vertical-align: baseline;
  text-align: center;
  text-transform: none;
  font-smoothing: antialiased;
  text-stroke-width: 0;
  font-family: sans-serif;
}
.rc-tabs-tab-prev-icon:before,
.rc-tabs-tab-next-icon:before {
  display: block;
}
.rc-tabs-tab-btn-disabled {
  cursor: default;
  color: #ccc;
}
.rc-tabs-nav-wrap {
  overflow: hidden;
}
.rc-tabs-nav {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 0;
  position: relative;
  margin: 0;
  float: left;
  list-style: none;
  display: inline-block;
  -webkit-transform-origin: 0 0;
          -ms-transform-origin: 0 0;
      transform-origin: 0 0;
}
.rc-tabs-nav-animated {
  transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  -o-transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
}
.rc-tabs-nav:before,
.rc-tabs-nav:after {
  display: table;
  content: " ";
}
.rc-tabs-nav:after {
  clear: both;
}
.rc-tabs-tab {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: block;
  -webkit-transition: color 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  -o-transition: color 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: color 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  padding: 8px 20px;
  font-weight: 500;
  cursor: pointer;
}
.rc-tabs-tab:hover {
  color: #23c0fa;
}
.rc-tabs-tab-active,
.rc-tabs-tab-active:hover {
  color: #108ee9;
  cursor: default;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.rc-tabs-tab-disabled {
  cursor: default;
  color: #ccc;
}
.rc-tabs-tab-disabled:hover {
  color: #ccc;
}
.rc-tabs-content {
  zoom: 1;
}
.rc-tabs-content .rc-tabs-tabpane {
  overflow: auto;
}
.rc-tabs-content-animated {
  transition: margin-left 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-top 0.3s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transition: margin-left 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-top 0.3s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  -o-transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-left 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-top 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-left 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-top 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-left 0.3s cubic-bezier(0.35, 0, 0.25, 1), margin-top 0.3s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  display: -ms-flexbox;
  display: flex;
  will-change: transform;
}
.rc-tabs-content-animated .rc-tabs-tabpane {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.no-flexbox .rc-tabs-content {
  -webkit-transform: none !important;
          -ms-transform: none !important;
      transform: none !important;
  overflow: auto;
}
.no-csstransitions .rc-tabs-tabpane-inactive,
.no-flexbox .rc-tabs-tabpane-inactive,
.rc-tabs-content-no-animated .rc-tabs-tabpane-inactive {
  display: none;
}
.rc-tabs-left {
  border-right: 2px solid #f3f3f3;
  overflow-y: hidden;
}
.rc-tabs-left .rc-tabs-bar {
  float: left;
  height: 100%;
  margin-right: 10px;
  border-right: 1px solid #f3f3f3;
}
.rc-tabs-left .rc-tabs-nav-container {
  height: 100%;
}
.rc-tabs-left .rc-tabs-nav-container-scrolling {
  padding-top: 32px;
  padding-bottom: 32px;
}
.rc-tabs-left .rc-tabs-nav-wrap {
  height: 100%;
}
.rc-tabs-left .rc-tabs-content-animated {
  -ms-flex-direction: column;
  flex-direction: column;
}
.rc-tabs-left .rc-tabs-content-animated .rc-tabs-tabpane {
  height: 100%;
}
.rc-tabs-left .rc-tabs-nav-scroll {
  height: 99999px;
}
.rc-tabs-left .rc-tabs-nav-swipe {
  position: relative;
  top: 0;
}
.rc-tabs-left .rc-tabs-nav-swipe .rc-tabs-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1 1;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}
.rc-tabs-left .rc-tabs-nav-swipe .rc-tabs-nav .rc-tabs-tab {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-pack: center;
      justify-content: center;
}
.rc-tabs-left .rc-tabs-tab-prev,
.rc-tabs-left .rc-tabs-tab-next {
  margin-top: -2px;
  height: 0;
  line-height: 32px;
  width: 0;
  display: block;
  text-align: center;
  opacity: 0;
  -webkit-transition: width .3s, height .3s, opacity .3s;
  -o-transition: width .3s, height .3s, opacity .3s;
  transition: width .3s, height .3s, opacity .3s;
}
.rc-tabs-top .rc-tabs-tab-arrow-show {
  opacity: 1;
  width: 100%;
  height: 32px;
}
.rc-tabs-left .rc-tabs-tab-next {
  bottom: 0;
}
.rc-tabs-left .rc-tabs-tab-next-icon {
  -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}
.rc-tabs-left .rc-tabs-tab-next-icon:before {
  content: ">";
}
.rc-tabs-left .rc-tabs-tab-prev {
  top: 2px;
}
.rc-tabs-left .rc-tabs-tab-prev-icon {
  -webkit-transform: rotate(270deg);
          -ms-transform: rotate(270deg);
      transform: rotate(270deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.rc-tabs-left .rc-tabs-tab-prev-icon:before {
  content: ">";
}
.rc-tabs-left .rc-tabs-ink-bar {
  width: 2px;
  right: 0;
}
.rc-tabs-left .rc-tabs-tab {
  padding: 16px 24px;
}
.rc-tabs-right {
  border-left: 2px solid #f3f3f3;
  overflow-y: hidden;
}
.rc-tabs-right .rc-tabs-bar {
  float: right;
  height: 100%;
  margin-left: 10px;
  border-left: 1px solid #f3f3f3;
}
.rc-tabs-right .rc-tabs-nav-container {
  height: 100%;
}
.rc-tabs-right .rc-tabs-nav-container-scrolling {
  padding-top: 32px;
  padding-bottom: 32px;
}
.rc-tabs-right .rc-tabs-nav-wrap {
  height: 100%;
}
.rc-tabs-right .rc-tabs-nav-scroll {
  height: 99999px;
}
.rc-tabs-right .rc-tabs-nav-swipe {
  position: relative;
}
.rc-tabs-right .rc-tabs-nav-swipe .rc-tabs-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1 1;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}
.rc-tabs-right .rc-tabs-nav-swipe .rc-tabs-nav .rc-tabs-tab {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-pack: center;
      justify-content: center;
}
.rc-tabs-right .rc-tabs-tab-prev,
.rc-tabs-right .rc-tabs-tab-next {
  margin-top: -2px;
  height: 0;
  width: 0;
  display: block;
  text-align: center;
  line-height: 32px;
  opacity: 0;
  -webkit-transition: width .3s, height .3s, opacity .3s;
  -o-transition: width .3s, height .3s, opacity .3s;
  transition: width .3s, height .3s, opacity .3s;
}
.rc-tabs-top .rc-tabs-tab-arrow-show {
  opacity: 1;
  width: 100%;
  height: 32px;
}
.rc-tabs-right .rc-tabs-tab-next {
  bottom: 0;
}
.rc-tabs-right .rc-tabs-tab-next-icon {
  -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}
.rc-tabs-right .rc-tabs-tab-next-icon:before {
  content: ">";
}
.rc-tabs-right .rc-tabs-tab-prev {
  top: 2px;
}
.rc-tabs-right .rc-tabs-tab-prev-icon {
  -webkit-transform: rotate(270deg);
          -ms-transform: rotate(270deg);
      transform: rotate(270deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.rc-tabs-right .rc-tabs-tab-prev-icon:before {
  content: ">";
}
.rc-tabs-right .rc-tabs-content-animated {
  -ms-flex-direction: column;
  flex-direction: column;
}
.rc-tabs-right .rc-tabs-content-animated .rc-tabs-tabpane {
  height: 100%;
}
.rc-tabs-right .rc-tabs-ink-bar {
  width: 2px;
  left: 0;
}
.rc-tabs-right .rc-tabs-tab {
  padding: 16px 24px;
}
.rc-tabs-bottom {
  border-top: 2px solid #f3f3f3;
  overflow-x: hidden;
}
.rc-tabs-bottom .rc-tabs-content {
  width: 100%;
}
.rc-tabs-bottom .rc-tabs-bar {
  border-top: 1px solid #f3f3f3;
}
.rc-tabs-bottom .rc-tabs-nav-container-scrolling {
  padding-left: 32px;
  padding-right: 32px;
}
.rc-tabs-bottom .rc-tabs-nav-scroll {
  width: 99999px;
}
.rc-tabs-bottom .rc-tabs-nav-swipe {
  position: relative;
  left: 0;
}
.rc-tabs-bottom .rc-tabs-nav-swipe .rc-tabs-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1 1;
  width: 100%;
}
.rc-tabs-bottom .rc-tabs-nav-swipe .rc-tabs-nav .rc-tabs-tab {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0;
  padding: 8px 0;
  -ms-flex-pack: center;
      justify-content: center;
}
.rc-tabs-bottom .rc-tabs-nav-wrap {
  width: 100%;
}
.rc-tabs-bottom .rc-tabs-content-animated {
  -ms-flex-direction: row;
  flex-direction: row;
}
.rc-tabs-bottom .rc-tabs-content-animated .rc-tabs-tabpane {
  width: 100%;
}
.rc-tabs-bottom .rc-tabs-tab-next {
  right: 2px;
}
.rc-tabs-bottom .rc-tabs-tab-next-icon:before {
  content: ">";
}
.rc-tabs-bottom .rc-tabs-tab-prev {
  left: 0;
}
.rc-tabs-bottom .rc-tabs-tab-prev-icon:before {
  content: "<";
}
.rc-tabs-bottom .rc-tabs-tab-prev,
.rc-tabs-bottom .rc-tabs-tab-next {
  margin-right: -2px;
  width: 32px;
  height: 100%;
  top: 0;
  text-align: center;
}
.rc-tabs-bottom .rc-tabs-ink-bar {
  height: 2px;
  top: 3px;
  left: 0;
}
.rc-tabs-bottom .rc-tabs-tab {
  float: left;
  height: 100%;
  margin-right: 30px;
}
.rc-tabs-bottom .rc-tabs-tabpane-inactive {
  height: 0;
  overflow: visible;
}
.rc-tabs-top {
  border-bottom: 2px solid #f3f3f3;
  overflow-x: hidden;
}
.rc-tabs-top .rc-tabs-content {
  width: 100%;
}
.rc-tabs-top .rc-tabs-bar {
  border-bottom: 1px solid #f3f3f3;
}
.rc-tabs-top .rc-tabs-nav-container-scrolling {
  padding-left: 32px;
  padding-right: 32px;
}
.rc-tabs-top .rc-tabs-nav-scroll {
  width: 99999px;
}
.rc-tabs-top .rc-tabs-nav-swipe {
  position: relative;
  left: 0;
}
.rc-tabs-top .rc-tabs-nav-swipe .rc-tabs-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1 1;
  width: 100%;
}
.rc-tabs-top .rc-tabs-nav-swipe .rc-tabs-nav .rc-tabs-tab {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0;
  padding: 8px 0;
  -ms-flex-pack: center;
      justify-content: center;
}
.rc-tabs-top .rc-tabs-nav-wrap {
  width: 100%;
}
.rc-tabs-top .rc-tabs-content-animated {
  -ms-flex-direction: row;
  flex-direction: row;
}
.rc-tabs-top .rc-tabs-content-animated .rc-tabs-tabpane {
  width: 100%;
}
.rc-tabs-top .rc-tabs-tab-next {
  right: 2px;
}
.rc-tabs-top .rc-tabs-tab-next-icon:before {
  content: ">";
}
.rc-tabs-top .rc-tabs-tab-prev {
  left: 0;
}
.rc-tabs-top .rc-tabs-tab-prev-icon:before {
  content: "<";
}
.rc-tabs-top .rc-tabs-tab-prev,
.rc-tabs-top .rc-tabs-tab-next {
  margin-right: -2px;
  width: 0;
  height: 0;
  top: 0;
  text-align: center;
  opacity: 0;
  -webkit-transition: width .3s, height .3s, opacity .3s;
  -o-transition: width .3s, height .3s, opacity .3s;
  transition: width .3s, height .3s, opacity .3s;
}
.rc-tabs-top .rc-tabs-tab-arrow-show {
  opacity: 1;
  width: 32px;
  height: 100%;
}
.rc-tabs-top .rc-tabs-ink-bar {
  height: 2px;
  bottom: 0;
  left: 0;
}
.rc-tabs-top .rc-tabs-tab {
  float: left;
  height: 100%;
  margin-right: 30px;
}
.rc-tabs-top .rc-tabs-tabpane-inactive {
  height: 0;
  overflow: visible;
}
.ag-icon {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  position: relative;
}
.ag-icon::before {
  content: "";
}
.ag-icon::after {
  background: transparent var(--ag-icon-image, none) center/contain no-repeat;
  display: var(--ag-icon-image-display);
  opacity: var(--ag-icon-image-opacity, 0.9);
  position: absolute;
  inset: 0;
  content: "";
}

.ag-icon-aggregation {
  font-family: var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color));
}

.ag-icon-aggregation::before {
  content: var(--ag-icon-font-code-aggregation, "\f101");
  display: var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display));
}

.ag-icon-aggregation::after {
  background-image: var(--ag-icon-image-aggregation, var(--ag-icon-image));
  display: var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-arrows {
  font-family: var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-arrows, var(--ag-icon-font-color));
}

.ag-icon-arrows::before {
  content: var(--ag-icon-font-code-arrows, "\f102");
  display: var(--ag-icon-font-display-arrows, var(--ag-icon-font-display));
}

.ag-icon-arrows::after {
  background-image: var(--ag-icon-image-arrows, var(--ag-icon-image));
  display: var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-asc {
  font-family: var(--ag-icon-font-family-asc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-asc, var(--ag-icon-font-color));
}

.ag-icon-asc::before {
  content: var(--ag-icon-font-code-asc, "\f103");
  display: var(--ag-icon-font-display-asc, var(--ag-icon-font-display));
}

.ag-icon-asc::after {
  background-image: var(--ag-icon-image-asc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-asc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cancel {
  font-family: var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cancel, var(--ag-icon-font-color));
}

.ag-icon-cancel::before {
  content: var(--ag-icon-font-code-cancel, "\f104");
  display: var(--ag-icon-font-display-cancel, var(--ag-icon-font-display));
}

.ag-icon-cancel::after {
  background-image: var(--ag-icon-image-cancel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chart {
  font-family: var(--ag-icon-font-family-chart, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chart, var(--ag-icon-font-color));
}

.ag-icon-chart::before {
  content: var(--ag-icon-font-code-chart, "\f105");
  display: var(--ag-icon-font-display-chart, var(--ag-icon-font-display));
}

.ag-icon-chart::after {
  background-image: var(--ag-icon-image-chart, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-checked {
  font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-checked::before {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-checked::after {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-indeterminate {
  font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-checkbox-indeterminate::before {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-checkbox-indeterminate::after {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-unchecked {
  font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-unchecked::before {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-unchecked::after {
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-color-picker {
  font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));
}

.ag-icon-color-picker::before {
  content: var(--ag-icon-font-code-color-picker, "\f109");
  display: var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display));
}

.ag-icon-color-picker::after {
  background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));
  display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-columns {
  font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));
}

.ag-icon-columns::before {
  content: var(--ag-icon-font-code-columns, "\f10a");
  display: var(--ag-icon-font-display-columns, var(--ag-icon-font-display));
}

.ag-icon-columns::after {
  background-image: var(--ag-icon-image-columns, var(--ag-icon-image));
  display: var(--ag-icon-image-display-columns, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-contracted {
  font-family: var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-contracted, var(--ag-icon-font-color));
}

.ag-icon-contracted::before {
  content: var(--ag-icon-font-code-contracted, "\f10b");
  display: var(--ag-icon-font-display-contracted, var(--ag-icon-font-display));
}

.ag-icon-contracted::after {
  background-image: var(--ag-icon-image-contracted, var(--ag-icon-image));
  display: var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-copy {
  font-family: var(--ag-icon-font-family-copy, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-copy, var(--ag-icon-font-color));
}

.ag-icon-copy::before {
  content: var(--ag-icon-font-code-copy, "\f10c");
  display: var(--ag-icon-font-display-copy, var(--ag-icon-font-display));
}

.ag-icon-copy::after {
  background-image: var(--ag-icon-image-copy, var(--ag-icon-image));
  display: var(--ag-icon-image-display-copy, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cross {
  font-family: var(--ag-icon-font-family-cross, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cross, var(--ag-icon-font-color));
}

.ag-icon-cross::before {
  content: var(--ag-icon-font-code-cross, "\f10d");
  display: var(--ag-icon-font-display-cross, var(--ag-icon-font-display));
}

.ag-icon-cross::after {
  background-image: var(--ag-icon-image-cross, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cross, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-csv {
  font-family: var(--ag-icon-font-family-csv, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-csv, var(--ag-icon-font-color));
}

.ag-icon-csv::before {
  content: var(--ag-icon-font-code-csv, "\f10e");
  display: var(--ag-icon-font-display-csv, var(--ag-icon-font-display));
}

.ag-icon-csv::after {
  background-image: var(--ag-icon-image-csv, var(--ag-icon-image));
  display: var(--ag-icon-image-display-csv, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cut {
  font-family: var(--ag-icon-font-family-cut, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cut, var(--ag-icon-font-color));
}

.ag-icon-cut::before {
  content: var(--ag-icon-font-code-cut, "\f10f");
  display: var(--ag-icon-font-display-cut, var(--ag-icon-font-display));
}

.ag-icon-cut::after {
  background-image: var(--ag-icon-image-cut, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cut, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-desc {
  font-family: var(--ag-icon-font-family-desc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-desc, var(--ag-icon-font-color));
}

.ag-icon-desc::before {
  content: var(--ag-icon-font-code-desc, "\f110");
  display: var(--ag-icon-font-display-desc, var(--ag-icon-font-display));
}

.ag-icon-desc::after {
  background-image: var(--ag-icon-image-desc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-desc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-excel {
  font-family: var(--ag-icon-font-family-excel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-excel, var(--ag-icon-font-color));
}

.ag-icon-excel::before {
  content: var(--ag-icon-font-code-excel, "\f111");
  display: var(--ag-icon-font-display-excel, var(--ag-icon-font-display));
}

.ag-icon-excel::after {
  background-image: var(--ag-icon-image-excel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-excel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-expanded {
  font-family: var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-expanded, var(--ag-icon-font-color));
}

.ag-icon-expanded::before {
  content: var(--ag-icon-font-code-expanded, "\f112");
  display: var(--ag-icon-font-display-expanded, var(--ag-icon-font-display));
}

.ag-icon-expanded::after {
  background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));
  display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye-slash {
  font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));
}

.ag-icon-eye-slash::before {
  content: var(--ag-icon-font-code-eye-slash, "\f113");
  display: var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display));
}

.ag-icon-eye-slash::after {
  background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye {
  font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));
}

.ag-icon-eye::before {
  content: var(--ag-icon-font-code-eye, "\f114");
  display: var(--ag-icon-font-display-eye, var(--ag-icon-font-display));
}

.ag-icon-eye::after {
  background-image: var(--ag-icon-image-eye, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-filter {
  font-family: var(--ag-icon-font-family-filter, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-filter, var(--ag-icon-font-color));
}

.ag-icon-filter::before {
  content: var(--ag-icon-font-code-filter, "\f115");
  display: var(--ag-icon-font-display-filter, var(--ag-icon-font-display));
}

.ag-icon-filter::after {
  background-image: var(--ag-icon-image-filter, var(--ag-icon-image));
  display: var(--ag-icon-image-display-filter, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-first {
  font-family: var(--ag-icon-font-family-first, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-first, var(--ag-icon-font-color));
}

.ag-icon-first::before {
  content: var(--ag-icon-font-code-first, "\f116");
  display: var(--ag-icon-font-display-first, var(--ag-icon-font-display));
}

.ag-icon-first::after {
  background-image: var(--ag-icon-image-first, var(--ag-icon-image));
  display: var(--ag-icon-image-display-first, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-grip {
  font-family: var(--ag-icon-font-family-grip, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-grip, var(--ag-icon-font-color));
}

.ag-icon-grip::before {
  content: var(--ag-icon-font-code-grip, "\f117");
  display: var(--ag-icon-font-display-grip, var(--ag-icon-font-display));
}

.ag-icon-grip::after {
  background-image: var(--ag-icon-image-grip, var(--ag-icon-image));
  display: var(--ag-icon-image-display-grip, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-group {
  font-family: var(--ag-icon-font-family-group, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-group, var(--ag-icon-font-color));
}

.ag-icon-group::before {
  content: var(--ag-icon-font-code-group, "\f118");
  display: var(--ag-icon-font-display-group, var(--ag-icon-font-display));
}

.ag-icon-group::after {
  background-image: var(--ag-icon-image-group, var(--ag-icon-image));
  display: var(--ag-icon-image-display-group, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-last {
  font-family: var(--ag-icon-font-family-last, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-last, var(--ag-icon-font-color));
}

.ag-icon-last::before {
  content: var(--ag-icon-font-code-last, "\f119");
  display: var(--ag-icon-font-display-last, var(--ag-icon-font-display));
}

.ag-icon-last::after {
  background-image: var(--ag-icon-image-last, var(--ag-icon-image));
  display: var(--ag-icon-image-display-last, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-left {
  font-family: var(--ag-icon-font-family-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-left, var(--ag-icon-font-color));
}

.ag-icon-left::before {
  content: var(--ag-icon-font-code-left, "\f11a");
  display: var(--ag-icon-font-display-left, var(--ag-icon-font-display));
}

.ag-icon-left::after {
  background-image: var(--ag-icon-image-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-linked {
  font-family: var(--ag-icon-font-family-linked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-linked, var(--ag-icon-font-color));
}

.ag-icon-linked::before {
  content: var(--ag-icon-font-code-linked, "\f11b");
  display: var(--ag-icon-font-display-linked, var(--ag-icon-font-display));
}

.ag-icon-linked::after {
  background-image: var(--ag-icon-image-linked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-linked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-loading {
  font-family: var(--ag-icon-font-family-loading, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-loading, var(--ag-icon-font-color));
}

.ag-icon-loading::before {
  content: var(--ag-icon-font-code-loading, "\f11c");
  display: var(--ag-icon-font-display-loading, var(--ag-icon-font-display));
}

.ag-icon-loading::after {
  background-image: var(--ag-icon-image-loading, var(--ag-icon-image));
  display: var(--ag-icon-image-display-loading, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-maximize {
  font-family: var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-maximize, var(--ag-icon-font-color));
}

.ag-icon-maximize::before {
  content: var(--ag-icon-font-code-maximize, "\f11d");
  display: var(--ag-icon-font-display-maximize, var(--ag-icon-font-display));
}

.ag-icon-maximize::after {
  background-image: var(--ag-icon-image-maximize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu {
  font-family: var(--ag-icon-font-family-menu, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu, var(--ag-icon-font-color));
}

.ag-icon-menu::before {
  content: var(--ag-icon-font-code-menu, "\f11e");
  display: var(--ag-icon-font-display-menu, var(--ag-icon-font-display));
}

.ag-icon-menu::after {
  background-image: var(--ag-icon-image-menu, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minimize {
  font-family: var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minimize, var(--ag-icon-font-color));
}

.ag-icon-minimize::before {
  content: var(--ag-icon-font-code-minimize, "\f11f");
  display: var(--ag-icon-font-display-minimize, var(--ag-icon-font-display));
}

.ag-icon-minimize::after {
  background-image: var(--ag-icon-image-minimize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-next {
  font-family: var(--ag-icon-font-family-next, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-next, var(--ag-icon-font-color));
}

.ag-icon-next::before {
  content: var(--ag-icon-font-code-next, "\f120");
  display: var(--ag-icon-font-display-next, var(--ag-icon-font-display));
}

.ag-icon-next::after {
  background-image: var(--ag-icon-image-next, var(--ag-icon-image));
  display: var(--ag-icon-image-display-next, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-none {
  font-family: var(--ag-icon-font-family-none, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-none, var(--ag-icon-font-color));
}

.ag-icon-none::before {
  content: var(--ag-icon-font-code-none, "\f121");
  display: var(--ag-icon-font-display-none, var(--ag-icon-font-display));
}

.ag-icon-none::after {
  background-image: var(--ag-icon-image-none, var(--ag-icon-image));
  display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-not-allowed {
  font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));
}

.ag-icon-not-allowed::before {
  content: var(--ag-icon-font-code-not-allowed, "\f122");
  display: var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display));
}

.ag-icon-not-allowed::after {
  background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-paste {
  font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));
}

.ag-icon-paste::before {
  content: var(--ag-icon-font-code-paste, "\f123");
  display: var(--ag-icon-font-display-paste, var(--ag-icon-font-display));
}

.ag-icon-paste::after {
  background-image: var(--ag-icon-image-paste, var(--ag-icon-image));
  display: var(--ag-icon-image-display-paste, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pin {
  font-family: var(--ag-icon-font-family-pin, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pin, var(--ag-icon-font-color));
}

.ag-icon-pin::before {
  content: var(--ag-icon-font-code-pin, "\f124");
  display: var(--ag-icon-font-display-pin, var(--ag-icon-font-display));
}

.ag-icon-pin::after {
  background-image: var(--ag-icon-image-pin, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pin, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pivot {
  font-family: var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pivot, var(--ag-icon-font-color));
}

.ag-icon-pivot::before {
  content: var(--ag-icon-font-code-pivot, "\f125");
  display: var(--ag-icon-font-display-pivot, var(--ag-icon-font-display));
}

.ag-icon-pivot::after {
  background-image: var(--ag-icon-image-pivot, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-previous {
  font-family: var(--ag-icon-font-family-previous, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-previous, var(--ag-icon-font-color));
}

.ag-icon-previous::before {
  content: var(--ag-icon-font-code-previous, "\f126");
  display: var(--ag-icon-font-display-previous, var(--ag-icon-font-display));
}

.ag-icon-previous::after {
  background-image: var(--ag-icon-image-previous, var(--ag-icon-image));
  display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-off {
  font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));
}

.ag-icon-radio-button-off::before {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
}

.ag-icon-radio-button-off::after {
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-on {
  font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));
}

.ag-icon-radio-button-on::before {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
}

.ag-icon-radio-button-on::after {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-right {
  font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));
}

.ag-icon-right::before {
  content: var(--ag-icon-font-code-right, "\f129");
  display: var(--ag-icon-font-display-right, var(--ag-icon-font-display));
}

.ag-icon-right::after {
  background-image: var(--ag-icon-image-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-save {
  font-family: var(--ag-icon-font-family-save, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-save, var(--ag-icon-font-color));
}

.ag-icon-save::before {
  content: var(--ag-icon-font-code-save, "\f12a");
  display: var(--ag-icon-font-display-save, var(--ag-icon-font-display));
}

.ag-icon-save::after {
  background-image: var(--ag-icon-image-save, var(--ag-icon-image));
  display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-down {
  font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));
}

.ag-icon-small-down::before {
  content: var(--ag-icon-font-code-small-down, "\f12b");
  display: var(--ag-icon-font-display-small-down, var(--ag-icon-font-display));
}

.ag-icon-small-down::after {
  background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-left {
  font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));
}

.ag-icon-small-left::before {
  content: var(--ag-icon-font-code-small-left, "\f12c");
  display: var(--ag-icon-font-display-small-left, var(--ag-icon-font-display));
}

.ag-icon-small-left::after {
  background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-right {
  font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));
}

.ag-icon-small-right::before {
  content: var(--ag-icon-font-code-small-right, "\f12d");
  display: var(--ag-icon-font-display-small-right, var(--ag-icon-font-display));
}

.ag-icon-small-right::after {
  background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-up {
  font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));
}

.ag-icon-small-up::before {
  content: var(--ag-icon-font-code-small-up, "\f12e");
  display: var(--ag-icon-font-display-small-up, var(--ag-icon-font-display));
}

.ag-icon-small-up::after {
  background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tick {
  font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));
}

.ag-icon-tick::before {
  content: var(--ag-icon-font-code-tick, "\f12f");
  display: var(--ag-icon-font-display-tick, var(--ag-icon-font-display));
}

.ag-icon-tick::after {
  background-image: var(--ag-icon-image-tick, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-closed {
  font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));
}

.ag-icon-tree-closed::before {
  content: var(--ag-icon-font-code-tree-closed, "\f130");
  display: var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display));
}

.ag-icon-tree-closed::after {
  background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-indeterminate {
  font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-tree-indeterminate::before {
  content: var(--ag-icon-font-code-tree-indeterminate, "\f131");
  display: var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-tree-indeterminate::after {
  background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-open {
  font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));
}

.ag-icon-tree-open::before {
  content: var(--ag-icon-font-code-tree-open, "\f132");
  display: var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display));
}

.ag-icon-tree-open::after {
  background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-unlinked {
  font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));
}

.ag-icon-unlinked::before {
  content: var(--ag-icon-font-code-unlinked, "\f133");
  display: var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display));
}

.ag-icon-unlinked::after {
  background-image: var(--ag-icon-image-unlinked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-up {
  font-family: var(--ag-icon-font-family-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-up, var(--ag-icon-font-color));
}

.ag-icon-up::before {
  content: var(--ag-icon-font-code-up, "\f134");
  display: var(--ag-icon-font-display-up, var(--ag-icon-font-display));
}

.ag-icon-up::after {
  background-image: var(--ag-icon-image-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-down {
  font-family: var(--ag-icon-font-family-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-down, var(--ag-icon-font-color));
}

.ag-icon-down::before {
  content: var(--ag-icon-font-code-down, "\f135");
  display: var(--ag-icon-font-display-down, var(--ag-icon-font-display));
}

.ag-icon-down::after {
  background-image: var(--ag-icon-image-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-plus {
  font-family: var(--ag-icon-font-family-plus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-plus, var(--ag-icon-font-color));
}

.ag-icon-plus::before {
  content: var(--ag-icon-font-code-plus, "\f136");
  display: var(--ag-icon-font-display-plus, var(--ag-icon-font-display));
}

.ag-icon-plus::after {
  background-image: var(--ag-icon-image-plus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-plus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minus {
  font-family: var(--ag-icon-font-family-minus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minus, var(--ag-icon-font-color));
}

.ag-icon-minus::before {
  content: var(--ag-icon-font-code-minus, "\f137");
  display: var(--ag-icon-font-display-minus, var(--ag-icon-font-display));
}

.ag-icon-minus::after {
  background-image: var(--ag-icon-image-minus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu-alt {
  font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));
}

.ag-icon-menu-alt::before {
  content: var(--ag-icon-font-code-menu-alt, "\f138");
  display: var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display));
}

.ag-icon-menu-alt::after {
  background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-settings {
  font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));
}

.ag-icon-settings::before {
  content: var(--ag-icon-font-code-settings, "\f139");
  display: var(--ag-icon-font-display-settings, var(--ag-icon-font-display));
}

.ag-icon-settings::after {
  background-image: var(--ag-icon-image-settings, var(--ag-icon-image));
  display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-row-drag::before {
  content: var(--ag-icon-font-code-grip);
}

.ag-left-arrow::before {
  content: var(--ag-icon-font-code-left);
}

.ag-right-arrow::before {
  content: var(--ag-icon-font-code-right);
}

[class*=ag-theme-] {
  --ag-foreground-color: #000;
  --ag-data-color: var(--ag-foreground-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-header-foreground-color: var(--ag-secondary-foreground-color);
  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);
  --ag-background-color: #fff;
  --ag-header-background-color: transparent;
  --ag-tooltip-background-color: transparent;
  --ag-subheader-background-color: transparent;
  --ag-subheader-toolbar-background-color: transparent;
  --ag-control-panel-background-color: transparent;
  --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);
  --ag-selected-row-background-color: #BBB;
  --ag-odd-row-background-color: var(--ag-background-color);
  --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);
  --ag-menu-background-color: var(--ag-background-color);
  --ag-menu-border-color: var(--ag-border-color);
  --ag-panel-background-color: var(--ag-background-color);
  --ag-panel-border-color: var(--ag-border-color);
  --ag-row-hover-color: transparent;
  --ag-column-hover-color: transparent;
  --ag-range-selection-border-color: var(--ag-foreground-color);
  --ag-range-selection-border-style: solid;
  --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);
  --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);
  --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-width: 0;
  --ag-selected-tab-underline-transition-speed: 0s;
  --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);
  --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);
  --ag-header-cell-hover-background-color: transparent;
  --ag-header-cell-moving-background-color: var(--ag-background-color);
  --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);
  --ag-value-change-delta-up-color: #43a047;
  --ag-value-change-delta-down-color: #e53935;
  --ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, 0.2);
  --ag-chip-background-color: transparent;
  --ag-chip-border-color: var(--ag-chip-background-color);
  --ag-borders: solid 1px;
  --ag-border-color: rgba(0, 0, 0, 0.25);
  --ag-borders-critical: var(--ag-borders);
  --ag-borders-secondary: var(--ag-borders);
  --ag-secondary-border-color: var(--ag-border-color);
  --ag-row-border-style: solid;
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-row-border-width: 1px;
  --ag-cell-horizontal-border: solid transparent;
  --ag-borders-input: var(--ag-borders-secondary);
  --ag-input-border-color: var(--ag-secondary-border-color);
  --ag-borders-input-invalid: solid 2px;
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-borders-side-button: var(--ag-borders);
  --ag-border-radius: 0px;
  --ag-wrapper-border-radius: var(--ag-border-radius);
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-header-column-separator-display: none;
  --ag-header-column-separator-height: 100%;
  --ag-header-column-separator-width: 1px;
  --ag-header-column-separator-color: var(--ag-secondary-border-color);
  --ag-header-column-resize-handle-display: none;
  --ag-header-column-resize-handle-height: 50%;
  --ag-header-column-resize-handle-width: 1px;
  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
  --ag-invalid-color: red;
  --ag-input-disabled-border-color: var(--ag-input-border-color);
  --ag-input-disabled-background-color: transparent;
  --ag-checkbox-background-color: transparent;
  --ag-checkbox-border-radius: var(--ag-border-radius);
  --ag-checkbox-checked-color: var(--ag-foreground-color);
  --ag-checkbox-unchecked-color: var(--ag-foreground-color);
  --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-switch-background-color: var(--ag-background-color);
  --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);
  --ag-toggle-button-border-width: 1px;
  --ag-toggle-button-height: var(--ag-icon-size);
  --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);
  --ag-input-focus-box-shadow: none;
  --ag-input-focus-border-color: none;
  --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);
  --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);
  --ag-grid-size: 4px;
  --ag-icon-size: 12px;
  --ag-icon-font-weight: normal;
  --ag-icon-font-color: var(--ag-foreground-color);
  --ag-icon-image-display: block;
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: var(--ag-grid-size);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);
  --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);
  --ag-header-height: var(--ag-row-height);
  --ag-list-item-height: calc(var(--ag-grid-size) * 5);
  --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));
  --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));
  --ag-filter-tool-panel-group-indent: 16px;
  --ag-tab-min-width: 220px;
  --ag-menu-min-width: 181px;
  --ag-side-bar-panel-width: 200px;
  --ag-font-family: "Helvetica Neue", sans-serif;
  --ag-font-size: 14px;
  --ag-card-radius: var(--ag-border-radius);
  --ag-card-shadow: none;
  --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
}

.ag-root-wrapper, .ag-sticky-top, .ag-sticky-bottom, .ag-dnd-ghost {
  background-color: var(--ag-background-color);
}

[class*=ag-theme-] {
  -webkit-font-smoothing: antialiased;
  font-family: var(--ag-font-family);
  font-size: var(--ag-font-size);
  line-height: normal;
  color: var(--ag-foreground-color);
}

ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
  display: block;
}

.ag-aria-description-container {
  z-index: 9999;
  border: 0px;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  padding: 0px;
  white-space: nowrap;
}

.ag-hidden {
  display: none !important;
}

.ag-invisible {
  visibility: hidden !important;
}

.ag-no-transition {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.ag-drag-handle {
  cursor: -webkit-grab;
  cursor: grab;
}

.ag-column-drop-wrapper {
  display: -ms-flexbox;
  display: flex;
}

.ag-column-drop-horizontal-half-width {
  display: inline-block;
  width: 50% !important;
}

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

.ag-selectable {
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.ag-tab {
  position: relative;
}

.ag-tab-guard {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
}

.ag-select-agg-func-popup {
  position: absolute;
}

.ag-input-wrapper, .ag-picker-field-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-align: center;
      align-items: center;
  line-height: normal;
  position: relative;
}

.ag-shake-left-to-right {
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: ag-shake-left-to-right;
          animation-name: ag-shake-left-to-right;
}

@-webkit-keyframes ag-shake-left-to-right {
  from {
    padding-left: 6px;
    padding-right: 2px;
  }
  to {
    padding-left: 2px;
    padding-right: 6px;
  }
}

@keyframes ag-shake-left-to-right {
  from {
    padding-left: 6px;
    padding-right: 2px;
  }
  to {
    padding-left: 2px;
    padding-right: 6px;
  }
}
.ag-root-wrapper {
  cursor: default;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden;
  white-space: normal;
}
.ag-root-wrapper.ag-layout-normal {
  height: 100%;
}

.ag-watermark {
  position: absolute;
  bottom: 20px;
  right: 25px;
  opacity: 0.7;
  -webkit-transition: opacity 1s ease-out 3s;
  -o-transition: opacity 1s ease-out 3s;
  transition: opacity 1s ease-out 3s;
  color: #9B9B9B;
}
.ag-watermark::before {
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: 170px 40px;
  display: block;
  height: 40px;
  width: 170px;
}

.ag-watermark-text {
  opacity: 0.5;
  font-weight: bold;
  font-family: Impact, sans-serif;
  font-size: 19px;
  padding-left: 0.7rem;
}

.ag-root-wrapper-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
.ag-root-wrapper-body.ag-layout-normal {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  height: 0;
  min-height: 0;
}

.ag-root {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {
  overflow: hidden;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: 0;
}
.ag-root.ag-layout-normal {
  height: 100%;
}

.ag-header-viewport,
.ag-floating-top-viewport,
.ag-body-viewport,
.ag-center-cols-viewport,
.ag-floating-bottom-viewport,
.ag-body-horizontal-scroll-viewport,
.ag-body-vertical-scroll-viewport,
.ag-virtual-list-viewport,
.ag-sticky-top-viewport,
.ag-sticky-bottom-viewport {
  position: relative;
  height: 100%;
  min-width: 0px;
  overflow: hidden;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-body-viewport, .ag-center-cols-viewport {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.ag-body-viewport::-webkit-scrollbar, .ag-center-cols-viewport::-webkit-scrollbar {
  display: none !important;
}

.ag-body-viewport {
  display: -ms-flexbox;
  display: flex;
}
.ag-body-viewport.ag-layout-normal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ag-center-cols-viewport {
  min-height: 100%;
  width: 100%;
  overflow-x: auto;
}

.ag-body-horizontal-scroll-viewport {
  overflow-x: scroll;
}

.ag-body-vertical-scroll-viewport {
  overflow-y: scroll;
}

.ag-virtual-list-viewport {
  overflow: auto;
  width: 100%;
}

.ag-header-container,
.ag-floating-top-container,
.ag-body-container,
.ag-pinned-right-cols-container,
.ag-center-cols-container,
.ag-pinned-left-cols-container,
.ag-floating-bottom-container,
.ag-body-horizontal-scroll-container,
.ag-body-vertical-scroll-container,
.ag-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-virtual-list-container,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  position: relative;
}

.ag-header-container,
.ag-floating-top-container,
.ag-floating-bottom-container,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  height: 100%;
  white-space: nowrap;
}

.ag-center-cols-container {
  display: block;
}

.ag-pinned-right-cols-container {
  display: block;
}

.ag-body-horizontal-scroll-container {
  height: 100%;
}

.ag-body-vertical-scroll-container {
  width: 100%;
}

.ag-full-width-container,
.ag-floating-top-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  position: absolute;
  top: 0px;
  pointer-events: none;
}
.ag-ltr .ag-full-width-container,
.ag-ltr .ag-floating-top-full-width-container,
.ag-ltr .ag-floating-bottom-full-width-container,
.ag-ltr .ag-sticky-top-full-width-container,
.ag-ltr .ag-sticky-bottom-full-width-container {
  left: 0;
}
.ag-rtl .ag-full-width-container,
.ag-rtl .ag-floating-top-full-width-container,
.ag-rtl .ag-floating-bottom-full-width-container,
.ag-rtl .ag-sticky-top-full-width-container,
.ag-rtl .ag-sticky-bottom-full-width-container {
  right: 0;
}

.ag-full-width-container {
  width: 100%;
}

.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {
  display: inline-block;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.ag-virtual-list-container {
  overflow: hidden;
}

.ag-body {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-direction: row !important;
      flex-direction: row !important;
  min-height: 0;
}

.ag-body-horizontal-scroll,
.ag-body-vertical-scroll {
  min-height: 0;
  min-width: 0;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible,
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  position: absolute;
  bottom: 0;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {
  opacity: 0;
  -webkit-transition: opacity 400ms;
  -o-transition: opacity 400ms;
  transition: opacity 400ms;
  visibility: hidden;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {
  visibility: visible;
  opacity: 1;
}

.ag-body-horizontal-scroll {
  width: 100%;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible {
  left: 0;
  right: 0;
}

.ag-body-vertical-scroll {
  height: 100%;
}
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  top: 0;
  z-index: 10;
}
.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {
  right: 0;
}
.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {
  left: 0;
}

.ag-force-vertical-scroll {
  overflow-y: scroll !important;
}

.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {
  height: 100%;
  min-width: 0;
  overflow-x: scroll;
}
.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {
  overflow-x: hidden;
}

.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.ag-header-cell-sortable .ag-header-cell-label {
  cursor: pointer;
}

.ag-header {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  white-space: nowrap;
}

.ag-pinned-left-header {
  height: 100%;
}

.ag-pinned-right-header {
  height: 100%;
}

.ag-header-row {
  position: absolute;
}

.ag-header-row:not(.ag-header-row-column-group) {
  overflow: hidden;
}

.ag-header.ag-header-allow-overflow .ag-header-row {
  overflow: visible;
}

.ag-header-cell {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  position: absolute;
  height: 100%;
}

.ag-header-cell.ag-header-active .ag-header-cell-menu-button, .ag-header-cell-filter-button {
  opacity: 1;
}

.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
  opacity: 0;
}

.ag-header-group-cell-label, .ag-header-cell-label {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -ms-flex-align: center;
      align-items: center;
}

.ag-header-cell-label {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.ag-header-group-cell-label.ag-sticky-label {
  position: -webkit-sticky;
  position: sticky;
  -ms-flex: none;
      flex: none;
  max-width: 100%;
}

.ag-header-group-text {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-header-cell-text {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-header-cell-comp-wrapper {
  width: 100%;
}

.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {
  white-space: normal;
}

.ag-right-aligned-header .ag-header-cell-label {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}

.ag-header-cell-resize {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 8px;
  top: 0;
  cursor: ew-resize;
}
.ag-ltr .ag-header-cell-resize {
  right: -4px;
}
.ag-rtl .ag-header-cell-resize {
  left: -4px;
}

.ag-pinned-left-header .ag-header-cell-resize {
  right: -4px;
}

.ag-pinned-right-header .ag-header-cell-resize {
  left: -4px;
}

.ag-header-select-all {
  display: -ms-flexbox;
  display: flex;
}

.ag-header-cell-menu-button,
.ag-header-cell-filter-button,
.ag-side-button-button,
.ag-panel-title-bar-button,
.ag-floating-filter-button-button {
  cursor: pointer;
}

.ag-column-moving .ag-cell {
  -webkit-transition: left 0.2s;
  -o-transition: left 0.2s;
  transition: left 0.2s;
}
.ag-column-moving .ag-header-cell {
  -webkit-transition: left 0.2s;
  -o-transition: left 0.2s;
  transition: left 0.2s;
}
.ag-column-moving .ag-header-group-cell {
  -webkit-transition: left 0.2s, width 0.2s;
  -o-transition: left 0.2s, width 0.2s;
  transition: left 0.2s, width 0.2s;
}

.ag-column-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-column-select {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden;
  -ms-flex: 3 1;
      flex: 3 1;
}

.ag-column-select-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: none;
      flex: none;
}

.ag-column-select-header-icon {
  position: relative;
}

.ag-column-select-header-filter-wrapper {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-column-select-header-filter {
  width: 100%;
}

.ag-column-select-list {
  -ms-flex: 1 1;
      flex: 1 1;
  overflow: hidden;
}

.ag-column-drop {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  overflow: auto;
  width: 100%;
}

.ag-column-drop-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-column-drop-cell {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-column-drop-cell-text {
  overflow: hidden;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-drop-vertical {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex: 1 1;
      flex: 1 1;
}

.ag-column-drop-vertical-title-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex: none;
      flex: none;
}

.ag-column-drop-vertical-list {
  position: relative;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow-x: auto;
}
.ag-column-drop-vertical-list > * {
  -ms-flex: none;
      flex: none;
}

.ag-column-drop-empty .ag-column-drop-vertical-list {
  overflow: hidden;
}

.ag-column-drop-vertical-empty-message {
  display: block;
}

.ag-column-drop.ag-column-drop-horizontal {
  white-space: nowrap;
  overflow: hidden;
}

.ag-column-drop-cell-button {
  cursor: pointer;
}

.ag-filter-toolpanel {
  -ms-flex: 1 1;
      flex: 1 1;
  min-width: 0;
}

.ag-filter-toolpanel-header {
  position: relative;
}

.ag-filter-toolpanel-header, .ag-filter-toolpanel-search {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.ag-filter-toolpanel-header > *, .ag-filter-toolpanel-search > * {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-filter-apply-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  overflow: hidden;
}

.ag-row-animation .ag-row {
  -webkit-transition: top 0.4s, -webkit-transform 0.4s;
  transition: top 0.4s, -webkit-transform 0.4s;
  -o-transition: transform 0.4s, top 0.4s;
  transition: transform 0.4s, top 0.4s;
  transition: transform 0.4s, top 0.4s, -webkit-transform 0.4s;
}

.ag-row-animation .ag-row.ag-after-created {
  -webkit-transition: top 0.4s, height 0.4s, -webkit-transform 0.4s;
  transition: top 0.4s, height 0.4s, -webkit-transform 0.4s;
  -o-transition: transform 0.4s, top 0.4s, height 0.4s;
  transition: transform 0.4s, top 0.4s, height 0.4s;
  transition: transform 0.4s, top 0.4s, height 0.4s, -webkit-transform 0.4s;
}

.ag-row-no-animation .ag-row {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.ag-row {
  white-space: nowrap;
  width: 100%;
}

.ag-row-loading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-row-position-absolute {
  position: absolute;
}

.ag-row-position-relative {
  position: relative;
}

.ag-full-width-row {
  overflow: hidden;
  pointer-events: all;
}

.ag-row-inline-editing {
  z-index: 1;
}

.ag-row-dragging {
  z-index: 2;
}

.ag-stub-cell {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-cell {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  height: 100%;
}

.ag-cell-value {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-cell-value, .ag-group-value {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.ag-cell-wrap-text {
  white-space: normal;
}

.ag-cell-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.ag-cell-wrapper.ag-row-group {
  -ms-flex-align: start;
      align-items: flex-start;
}

.ag-sparkline-wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.ag-full-width-row .ag-cell-wrapper.ag-row-group {
  height: 100%;
  -ms-flex-align: center;
      align-items: center;
}

.ag-cell-inline-editing {
  z-index: 1;
}
.ag-cell-inline-editing .ag-cell-wrapper,
.ag-cell-inline-editing .ag-cell-edit-wrapper,
.ag-cell-inline-editing .ag-cell-editor,
.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,
.ag-cell-inline-editing .ag-cell-editor input {
  height: 100%;
  width: 100%;
  line-height: normal;
}

.ag-cell .ag-icon {
  display: inline-block;
  vertical-align: middle;
}

.ag-set-filter-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
}

.ag-set-filter-item-checkbox {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
}

.ag-set-filter-group-icons {
  display: block;
}
.ag-set-filter-group-icons > * {
  cursor: pointer;
}

.ag-filter-body-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}

.ag-filter-filter {
  -ms-flex: 1 1;
      flex: 1 1;
}

.ag-filter-condition {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}

.ag-floating-filter-body {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  height: 100%;
}

.ag-floating-filter-full-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  height: 100%;
  width: 100%;
  -ms-flex-align: center;
      align-items: center;
  overflow: hidden;
}

.ag-floating-filter-full-body > div {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-floating-filter-input {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.ag-floating-filter-input > * {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-floating-filter-button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: none;
      flex: none;
}

.ag-set-floating-filter-input input[disabled] {
  pointer-events: none;
}

.ag-dnd-ghost {
  position: absolute;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  cursor: move;
  white-space: nowrap;
  z-index: 9999;
}

.ag-overlay {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

.ag-overlay-panel {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
}

.ag-overlay-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: none;
      flex: none;
  width: 100%;
  height: 100%;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
}

.ag-overlay-loading-wrapper {
  pointer-events: all;
}

.ag-popup-child {
  z-index: 5;
  top: 0;
}

.ag-popup-editor {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-large-text-input {
  display: block;
}

.ag-virtual-list-item {
  position: absolute;
  width: 100%;
}

.ag-floating-top {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: -ms-flexbox;
  display: flex;
}

.ag-pinned-left-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-floating-bottom {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: -ms-flexbox;
  display: flex;
}

.ag-pinned-left-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-sticky-top,
.ag-sticky-bottom {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.ag-pinned-left-sticky-top,
.ag-pinned-right-sticky-top {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-dialog, .ag-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative;
  overflow: hidden;
}

.ag-panel-title-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: none;
      flex: none;
  -ms-flex-align: center;
      align-items: center;
  cursor: default;
}

.ag-panel-title-bar-title {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-panel-title-bar-buttons {
  display: -ms-flexbox;
  display: flex;
}

.ag-panel-title-bar-button {
  cursor: pointer;
}

.ag-panel-content-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
  overflow: hidden;
}

.ag-dialog {
  position: absolute;
}

.ag-resizer {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.ag-resizer.ag-resizer-topLeft {
  top: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-top {
  top: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-topRight {
  top: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-right {
  top: 5px;
  right: 0;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}
.ag-resizer.ag-resizer-bottomRight {
  bottom: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-bottom {
  bottom: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-bottomLeft {
  bottom: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-left {
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}

.ag-tooltip {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip-custom {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip:not(.ag-tooltip-interactive),
.ag-tooltip-custom:not(.ag-tooltip-interactive) {
  pointer-events: none;
}

.ag-value-slide-out {
  margin-right: 5px;
  opacity: 1;
  -webkit-transition: opacity 3s, margin-right 3s;
  -o-transition: opacity 3s, margin-right 3s;
  transition: opacity 3s, margin-right 3s;
  -webkit-transition-timing-function: linear;
       -o-transition-timing-function: linear;
          transition-timing-function: linear;
}

.ag-value-slide-out-end {
  margin-right: 10px;
  opacity: 0;
}

.ag-opacity-zero {
  opacity: 0 !important;
}

.ag-menu {
  max-height: 100%;
  overflow-y: auto;
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-menu-column-select-wrapper {
  height: 265px;
  overflow: auto;
}
.ag-menu-column-select-wrapper .ag-column-select {
  height: 100%;
}

.ag-dialog .ag-panel-content-wrapper .ag-column-select {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ag-menu-list {
  display: table;
  width: 100%;
}

.ag-menu-option, .ag-menu-separator {
  display: table-row;
}

.ag-menu-option-part, .ag-menu-separator-part {
  display: table-cell;
  vertical-align: middle;
}

.ag-menu-option-text {
  white-space: nowrap;
}

.ag-menu-option-custom {
  display: contents;
}

.ag-compact-menu-option {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.ag-compact-menu-option-text {
  white-space: nowrap;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-rich-select {
  cursor: default;
  outline: none;
  height: 100%;
}

.ag-rich-select-value {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
}
.ag-rich-select-value .ag-picker-field-display {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}
.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {
  opacity: 0.5;
}

.ag-rich-select-list {
  position: relative;
}
.ag-rich-select-list .ag-loading-text {
  min-height: 2rem;
}

.ag-rich-select-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-align: center;
      align-items: center;
  white-space: nowrap;
  overflow: hidden;
  height: 100%;
}

.ag-rich-select-field-input {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}
.ag-rich-select-field-input .ag-input-field-input {
  padding: 0 !important;
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}
.ag-rich-select-field-input .ag-input-field-input::-webkit-input-placeholder {
  opacity: 0.8;
}
.ag-rich-select-field-input .ag-input-field-input::-moz-placeholder {
  opacity: 0.8;
}
.ag-rich-select-field-input .ag-input-field-input::-ms-input-placeholder {
  opacity: 0.8;
}
.ag-rich-select-field-input .ag-input-field-input::placeholder {
  opacity: 0.8;
}

.ag-autocomplete {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
}
.ag-autocomplete > * {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-autocomplete-list-popup {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-autocomplete-list {
  position: relative;
}

.ag-autocomplete-virtual-list-item {
  display: -ms-flexbox;
  display: flex;
}

.ag-autocomplete-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-align: center;
      align-items: center;
  overflow: hidden;
}

.ag-autocomplete-row-label {
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.ag-paging-panel {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.ag-paging-page-summary-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-paging-button {
  position: relative;
}

.ag-disabled .ag-paging-page-summary-panel {
  pointer-events: none;
}

.ag-tool-panel-wrapper {
  display: -ms-flexbox;
  display: flex;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-column-select-column,
.ag-column-select-column-group,
.ag-select-agg-func-item {
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 100%;
}
.ag-column-select-column > *,
.ag-column-select-column-group > *,
.ag-select-agg-func-item > * {
  -ms-flex: none;
      flex: none;
}

.ag-select-agg-func-item,
.ag-column-select-column-label {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-select-checkbox {
  display: -ms-flexbox;
  display: flex;
}

.ag-tool-panel-horizontal-resize {
  cursor: ew-resize;
  height: 100%;
  position: absolute;
  top: 0;
  width: 5px;
  z-index: 1;
}

.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  right: -3px;
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  left: -3px;
}

.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  left: -3px;
}
.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  right: -3px;
}

.ag-details-row {
  width: 100%;
}

.ag-details-row-fixed-height {
  height: 100%;
}

.ag-details-grid {
  width: 100%;
}

.ag-details-grid-fixed-height {
  height: 100%;
}

.ag-header-group-cell {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
  position: absolute;
}

.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {
  display: none;
}

.ag-cell-label-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
  width: 100%;
  padding: 5px 0px;
}

.ag-right-aligned-header .ag-cell-label-container {
  -ms-flex-direction: row;
      flex-direction: row;
}
.ag-right-aligned-header .ag-header-cell-text {
  text-align: end;
}

.ag-side-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}

.ag-side-bar-left {
  -ms-flex-order: -1;
      order: -1;
  -ms-flex-direction: row;
      flex-direction: row;
}

.ag-side-button-button {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
}

.ag-side-button-label {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}

.ag-status-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  overflow: hidden;
}

.ag-status-panel {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ag-status-name-value {
  white-space: nowrap;
}

.ag-status-bar-left {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ag-status-bar-center {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ag-status-bar-right {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ag-icon {
  display: block;
  speak: none;
}

.ag-group {
  position: relative;
  width: 100%;
}

.ag-group-title-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-group-title {
  display: inline;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.ag-group-title-bar .ag-group-title {
  cursor: default;
}

.ag-group-toolbar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-group-container {
  display: -ms-flexbox;
  display: flex;
}

.ag-disabled .ag-group-container {
  pointer-events: none;
}

.ag-group-container-horizontal {
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ag-group-container-vertical {
  -ms-flex-direction: column;
      flex-direction: column;
}

.ag-column-group-icons {
  display: block;
}
.ag-column-group-icons > * {
  cursor: pointer;
}

.ag-group-item-alignment-stretch .ag-group-item {
  -ms-flex-align: stretch;
      align-items: stretch;
}

.ag-group-item-alignment-start .ag-group-item {
  -ms-flex-align: start;
      align-items: flex-start;
}

.ag-group-item-alignment-end .ag-group-item {
  -ms-flex-align: end;
      align-items: flex-end;
}

.ag-toggle-button-icon {
  -webkit-transition: right 0.3s;
  -o-transition: right 0.3s;
  transition: right 0.3s;
  position: absolute;
  top: -1px;
}

.ag-input-field, .ag-select {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-align: center;
      align-items: center;
}

.ag-input-field-input {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-floating-filter-input .ag-input-field-input[type=date] {
  width: 1px;
}

.ag-range-field {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-angle-select {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-angle-select-wrapper {
  display: -ms-flexbox;
  display: flex;
}

.ag-angle-select-parent-circle {
  display: block;
  position: relative;
}

.ag-angle-select-child-circle {
  position: absolute;
}

.ag-slider-wrapper {
  display: -ms-flexbox;
  display: flex;
}
.ag-slider-wrapper .ag-input-field {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-picker-field-display {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}

.ag-picker-field {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-picker-field-icon {
  display: -ms-flexbox;
  display: flex;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ag-picker-field-wrapper {
  overflow: hidden;
}

.ag-label-align-right .ag-label {
  -ms-flex-order: 1;
      order: 1;
}
.ag-label-align-right > * {
  -ms-flex: none;
      flex: none;
}

.ag-label-align-top {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
}
.ag-label-align-top > * {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}

.ag-label-ellipsis {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
  -ms-flex: 1 1;
      flex: 1 1;
}

.ag-color-panel {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center;
}

.ag-spectrum-color {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
  overflow: hidden;
  cursor: default;
}

.ag-spectrum-fill {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-spectrum-val {
  cursor: pointer;
}

.ag-spectrum-dragger {
  position: absolute;
  pointer-events: none;
  cursor: pointer;
}

.ag-spectrum-hue {
  cursor: default;
  background: -webkit-gradient(linear, right top, left top, color-stop(3%, #ff0000), color-stop(17%, #ffff00), color-stop(33%, #00ff00), color-stop(50%, #00ffff), color-stop(67%, #0000ff), color-stop(83%, #ff00ff), to(#ff0000));
  background: -webkit-linear-gradient(right, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
  background: -o-linear-gradient(right, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
  background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.ag-spectrum-alpha {
  cursor: default;
}

.ag-spectrum-hue-background {
  width: 100%;
  height: 100%;
}

.ag-spectrum-alpha-background {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), to(rgb(0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  width: 100%;
  height: 100%;
}

.ag-spectrum-tool {
  cursor: pointer;
}

.ag-spectrum-slider {
  position: absolute;
  pointer-events: none;
}

.ag-recent-colors {
  display: -ms-flexbox;
  display: flex;
}

.ag-recent-color {
  cursor: pointer;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-column-select-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-set-filter-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-row-group-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-column-select-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-set-filter-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-row-group-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-column-select-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-set-filter-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-row-group-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-column-select-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-set-filter-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-row-group-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-column-select-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-set-filter-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-row-group-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-column-select-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-set-filter-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-row-group-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-column-select-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-set-filter-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-row-group-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-column-select-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-set-filter-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-row-group-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-column-select-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-set-filter-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-row-group-indent-9 {
  padding-right: 180px;
}

.ag-pill-select {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
.ag-pill-select .ag-column-drop {
  -ms-flex: unset;
      flex: unset;
}

.ag-ltr {
  direction: ltr;
}
.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-sticky-top, .ag-ltr .ag-sticky-bottom, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {
  -ms-flex-direction: row;
      flex-direction: row;
}

.ag-rtl {
  direction: rtl;
}
.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-sticky-top, .ag-rtl .ag-sticky-bottom, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}
.ag-rtl .ag-icon-contracted,
.ag-rtl .ag-icon-expanded,
.ag-rtl .ag-icon-tree-closed {
  display: block;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.ag-body .ag-body-viewport {
  -webkit-overflow-scrolling: touch;
}

.ag-layout-print.ag-body {
  display: block;
  height: unset;
}
.ag-layout-print.ag-root-wrapper {
  display: inline-block;
}
.ag-layout-print .ag-body-vertical-scroll {
  display: none;
}
.ag-layout-print .ag-body-horizontal-scroll {
  display: none;
}
.ag-layout-print.ag-force-vertical-scroll {
  overflow-y: visible !important;
}

@media print {
  .ag-root-wrapper.ag-layout-print {
    display: table;
  }
  .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,
  .ag-root-wrapper.ag-layout-print .ag-root,
  .ag-root-wrapper.ag-layout-print .ag-body-viewport,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-container,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,
  .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,
  .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {
    height: auto !important;
    overflow: hidden !important;
    display: block !important;
  }
  .ag-root-wrapper.ag-layout-print .ag-row, .ag-root-wrapper.ag-layout-print .ag-cell {
    -webkit-column-break-inside: avoid;
       page-break-inside: avoid;
            break-inside: avoid;
  }
}
[class^=ag-], [class^=ag-]:focus, [class^=ag-]:after, [class^=ag-]:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
}

[class^=ag-]::-ms-clear {
  display: none;
}

.ag-checkbox .ag-input-wrapper,
.ag-radio-button .ag-input-wrapper {
  overflow: visible;
}

.ag-range-field .ag-input-wrapper {
  height: 100%;
}

.ag-toggle-button {
  -ms-flex: none;
      flex: none;
  width: unset;
  min-width: unset;
}

.ag-button {
  border-radius: 0px;
  color: var(--ag-foreground-color);
}

.ag-button:hover {
  background-color: transparent;
}

.ag-ltr .ag-label-align-right .ag-label {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-label-align-right .ag-label {
  margin-right: var(--ag-grid-size);
}

input[class^=ag-] {
  margin: 0;
  background-color: var(--ag-background-color);
}

textarea[class^=ag-],
select[class^=ag-] {
  background-color: var(--ag-background-color);
}

input[class^=ag-]:not([type]),
input[class^=ag-][type=text],
input[class^=ag-][type=number],
input[class^=ag-][type=tel],
input[class^=ag-][type=date],
input[class^=ag-][type=datetime-local],
textarea[class^=ag-] {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  border: var(--ag-borders-input) var(--ag-input-border-color);
}
input[class^=ag-]:not([type]):disabled,
input[class^=ag-][type=text]:disabled,
input[class^=ag-][type=number]:disabled,
input[class^=ag-][type=tel]:disabled,
input[class^=ag-][type=date]:disabled,
input[class^=ag-][type=datetime-local]:disabled,
textarea[class^=ag-]:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
input[class^=ag-]:not([type]):focus,
input[class^=ag-][type=text]:focus,
input[class^=ag-][type=number]:focus,
input[class^=ag-][type=tel]:focus,
input[class^=ag-][type=date]:focus,
input[class^=ag-][type=datetime-local]:focus,
textarea[class^=ag-]:focus {
  outline: none;
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}
input[class^=ag-]:not([type]):invalid,
input[class^=ag-][type=text]:invalid,
input[class^=ag-][type=number]:invalid,
input[class^=ag-][type=tel]:invalid,
input[class^=ag-][type=date]:invalid,
input[class^=ag-][type=datetime-local]:invalid,
textarea[class^=ag-]:invalid {
  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);
}

input[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {
  -moz-appearance: textfield;
}
input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[class^=ag-][type=range] {
  padding: 0;
}

input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-drag-handle {
  color: var(--ag-secondary-foreground-color);
}

.ag-list-item, .ag-virtual-list-item {
  height: var(--ag-list-item-height);
}

.ag-virtual-list-item:focus-visible {
  outline: none;
}
.ag-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-select-list {
  background-color: var(--ag-background-color);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-list-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}
.ag-list-item.ag-active-item {
  background-color: var(--ag-row-hover-color);
}

.ag-select-list-item {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}
.ag-ltr .ag-select-list-item {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select-list-item {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-select-list-item span {
  white-space: nowrap;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  overflow: hidden;
}

.ag-row-drag,
.ag-selection-checkbox,
.ag-group-expanded,
.ag-group-contracted {
  color: var(--ag-secondary-foreground-color);
}
.ag-ltr .ag-row-drag,
.ag-ltr .ag-selection-checkbox,
.ag-ltr .ag-group-expanded,
.ag-ltr .ag-group-contracted {
  margin-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-row-drag,
.ag-rtl .ag-selection-checkbox,
.ag-rtl .ag-group-expanded,
.ag-rtl .ag-group-contracted {
  margin-left: var(--ag-cell-widget-spacing);
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex: none;
      flex: none;
}

.ag-group-expanded,
.ag-group-contracted {
  cursor: pointer;
}

.ag-group-title-bar-icon {
  cursor: pointer;
  -ms-flex: none;
      flex: none;
  color: var(--ag-secondary-foreground-color);
}

.ag-ltr .ag-group-child-count {
  margin-left: 2px;
}
.ag-rtl .ag-group-child-count {
  margin-right: 2px;
}

.ag-group-title-bar {
  background-color: var(--ag-subheader-background-color);
  padding: var(--ag-grid-size);
}

.ag-group-toolbar {
  padding: var(--ag-grid-size);
  background-color: var(--ag-subheader-toolbar-background-color);
}

.ag-disabled-group-title-bar, .ag-disabled-group-container {
  opacity: 0.5;
}

.group-item {
  margin: calc(var(--ag-grid-size) * 0.5) 0;
}

.ag-label {
  white-space: nowrap;
}
.ag-ltr .ag-label {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-label {
  margin-left: var(--ag-grid-size);
}

.ag-label-align-top .ag-label {
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-angle-select[disabled] {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}
.ag-angle-select[disabled] .ag-angle-select-field {
  opacity: 0.4;
}

.ag-ltr .ag-slider-field,
.ag-ltr .ag-angle-select-field {
  margin-right: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-slider-field,
.ag-rtl .ag-angle-select-field {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-angle-select-parent-circle {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: solid 1px;
  border-color: var(--ag-border-color);
  background-color: var(--ag-background-color);
}

.ag-angle-select-child-circle {
  top: 4px;
  left: 12px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  margin-top: -4px;
  border-radius: 3px;
  background-color: var(--ag-secondary-foreground-color);
}

.ag-picker-field-wrapper {
  border: var(--ag-borders);
  border-color: var(--ag-border-color);
  border-radius: 5px;
  background-color: var(--ag-background-color);
}
.ag-picker-field-wrapper:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {
  outline: none;
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}

.ag-picker-field-button {
  background-color: var(--ag-background-color);
  color: var(--ag-secondary-foreground-color);
}

.ag-dialog.ag-color-dialog {
  border-radius: 5px;
}

.ag-color-picker .ag-picker-field-display {
  height: var(--ag-icon-size);
}

.ag-color-picker .ag-picker-field-wrapper {
  max-width: 45px;
  min-width: 45px;
}

.ag-color-panel {
  padding: var(--ag-grid-size);
}

.ag-spectrum-color {
  background-color: rgb(255, 0, 0);
  border-radius: 2px;
}

.ag-spectrum-tools {
  padding: 10px;
}

.ag-spectrum-sat {
  background-image: -webkit-gradient(linear, left top, right top, from(white), to(rgba(204, 154, 129, 0)));
  background-image: -webkit-linear-gradient(left, white, rgba(204, 154, 129, 0));
  background-image: -o-linear-gradient(left, white, rgba(204, 154, 129, 0));
  background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));
}

.ag-spectrum-val {
  background-image: -webkit-gradient(linear, left bottom, left top, from(black), to(rgba(204, 154, 129, 0)));
  background-image: -webkit-linear-gradient(bottom, black, rgba(204, 154, 129, 0));
  background-image: -o-linear-gradient(bottom, black, rgba(204, 154, 129, 0));
  background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));
}

.ag-spectrum-dragger {
  border-radius: 12px;
  height: 12px;
  width: 12px;
  border: 1px solid white;
  background: black;
  -webkit-box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);
          box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);
}

.ag-spectrum-hue-background {
  border-radius: 2px;
}

.ag-spectrum-alpha-background {
  border-radius: 2px;
}

.ag-spectrum-tool {
  margin-bottom: 10px;
  height: 11px;
  border-radius: 2px;
}

.ag-spectrum-slider {
  margin-top: -12px;
  width: 13px;
  height: 13px;
  border-radius: 13px;
  background-color: rgb(248, 248, 248);
  -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
          box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

.ag-recent-color {
  margin: 0 3px;
}
.ag-recent-color:first-child {
  margin-left: 0;
}
.ag-recent-color:last-child {
  margin-right: 0;
}

.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),
.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),
.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-dnd-ghost {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height) !important;
  line-height: var(--ag-header-height);
  margin: 0;
  padding: 0 calc(var(--ag-grid-size) * 2);
  -webkit-transform: translateY(calc(var(--ag-grid-size) * 2));
      -ms-transform: translateY(calc(var(--ag-grid-size) * 2));
          transform: translateY(calc(var(--ag-grid-size) * 2));
}

.ag-dnd-ghost-icon {
  margin-right: var(--ag-grid-size);
  color: var(--ag-foreground-color);
}

.ag-popup-child:not(.ag-tooltip-custom) {
  -webkit-box-shadow: var(--ag-popup-shadow);
          box-shadow: var(--ag-popup-shadow);
}

.ag-select .ag-picker-field-wrapper {
  min-height: var(--ag-list-item-height);
  cursor: default;
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-left: var(--ag-grid-size);
}
.ag-select.ag-disabled .ag-picker-field-wrapper:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.ag-select:not(.ag-cell-editor, .ag-label-align-top) {
  min-height: var(--ag-list-item-height);
}
.ag-select .ag-picker-field-display {
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}
.ag-select .ag-picker-field-icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.ag-select.ag-disabled {
  opacity: 0.5;
}

.ag-rich-select-value,
.ag-rich-select-list {
  background-color: var(--ag-background-color);
}

.ag-rich-select-list {
  width: 100%;
  height: auto;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}
.ag-rich-select-list .ag-loading-text {
  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);
}

.ag-rich-select-value {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  padding-top: 0;
  padding-bottom: 0;
}
.ag-ltr .ag-rich-select-value {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-value {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-rich-select-value {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-rich-select-value {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-rich-select-field-input {
  left: calc(var(--ag-cell-horizontal-padding));
}
.ag-rtl .ag-rich-select-field-input {
  right: calc(var(--ag-cell-horizontal-padding));
}

.ag-popup-editor .ag-rich-select-value {
  height: var(--ag-row-height);
  min-width: 200px;
}

.ag-rich-select-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-rich-select-virtual-list-item:focus-visible::after {
  content: none;
}
.ag-rich-select-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-ltr .ag-rich-select-row {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-row {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}

.ag-rich-select-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-rich-select-row-text-highlight {
  font-weight: bold;
}

.ag-autocomplete {
  width: 100%;
}

.ag-autocomplete-list {
  width: 100%;
  min-width: 200px;
  height: calc(var(--ag-row-height) * 6.5);
}

.ag-autocomplete-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-autocomplete-virtual-list-item:focus-visible::after {
  content: none;
}
.ag-autocomplete-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-autocomplete-row-label {
  margin: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-autocomplete-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-dragging-range-handle .ag-dialog,
.ag-dragging-fill-handle .ag-dialog {
  opacity: 0.7;
  pointer-events: none;
}

.ag-dialog {
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
  -webkit-box-shadow: var(--ag-popup-shadow);
          box-shadow: var(--ag-popup-shadow);
}

.ag-panel {
  background-color: var(--ag-panel-background-color);
  border-color: var(--ag-panel-border-color);
}

.ag-panel-title-bar {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
  padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-panel-title-bar-button {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-panel-title-bar-button {
  margin-right: var(--ag-grid-size);
}

.ag-tooltip {
  background-color: var(--ag-tooltip-background-color);
  color: var(--ag-foreground-color);
  padding: var(--ag-grid-size);
  border: var(--ag-borders) var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  white-space: normal;
}

.ag-tooltip.ag-tooltip-animate,
.ag-tooltip-custom.ag-tooltip-animate {
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,
.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {
  opacity: 0;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: calc(1 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-1 {
  padding-right: calc(1 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: calc(2 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-2 {
  padding-right: calc(2 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: calc(3 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-3 {
  padding-right: calc(3 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: calc(4 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-4 {
  padding-right: calc(4 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: calc(5 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-5 {
  padding-right: calc(5 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: calc(6 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-6 {
  padding-right: calc(6 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: calc(7 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-7 {
  padding-right: calc(7 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: calc(8 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-8 {
  padding-right: calc(8 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: calc(9 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-9 {
  padding-right: calc(9 * var(--ag-column-select-indent-size));
}

.ag-column-select-header-icon {
  cursor: pointer;
}

.ag-column-select-header-icon:focus-visible {
  outline: none;
}
.ag-column-select-header-icon:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-ltr .ag-column-group-icons:not(:last-child),
.ag-ltr .ag-column-select-header-icon:not(:last-child),
.ag-ltr .ag-column-select-header-checkbox:not(:last-child),
.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-ltr .ag-column-select-checkbox:not(:last-child),
.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-label:not(:last-child) {
  margin-right: var(--ag-widget-horizontal-spacing);
}
.ag-rtl .ag-column-group-icons:not(:last-child),
.ag-rtl .ag-column-select-header-icon:not(:last-child),
.ag-rtl .ag-column-select-header-checkbox:not(:last-child),
.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-rtl .ag-column-select-checkbox:not(:last-child),
.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-label:not(:last-child) {
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-column-select-virtual-list-item:focus-visible {
  outline: none;
}
.ag-column-select-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-column-group:not(:last-child),
.ag-column-select-column:not(:last-child) {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-column-select-column-readonly,
.ag-column-select-column-group-readonly {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}

.ag-ltr .ag-column-select-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-rtl .ag-column-select-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-column-select-virtual-list-viewport {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;
}

.ag-column-select-virtual-list-item {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}

.ag-checkbox-edit {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-pill-select .ag-column-drop {
  border-bottom: 0;
  min-height: unset;
}
.ag-pill-select .ag-column-drop-list {
  padding: 0;
}
.ag-pill-select .ag-select {
  padding-top: var(--ag-grid-size);
}
.ag-pill-select .ag-picker-field-wrapper {
  background-color: transparent;
  border: 0;
}
.ag-pill-select .ag-picker-field-display {
  cursor: pointer;
}

.ag-rtl {
  text-align: right;
}

.ag-root-wrapper {
  border-radius: var(--ag-wrapper-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: calc(1 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-1 {
  padding-right: calc(1 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: calc(2 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-2 {
  padding-right: calc(2 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: calc(3 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-3 {
  padding-right: calc(3 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: calc(4 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-4 {
  padding-right: calc(4 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: calc(5 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-5 {
  padding-right: calc(5 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: calc(6 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-6 {
  padding-right: calc(6 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: calc(7 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-7 {
  padding-right: calc(7 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: calc(8 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-8 {
  padding-right: calc(8 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: calc(9 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-9 {
  padding-right: calc(9 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}

.ag-ltr .ag-row-group-indent-10 {
  padding-left: calc(10 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-10 {
  padding-right: calc(10 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}

.ag-ltr .ag-row-group-indent-11 {
  padding-left: calc(11 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-11 {
  padding-right: calc(11 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}

.ag-ltr .ag-row-group-indent-12 {
  padding-left: calc(12 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-12 {
  padding-right: calc(12 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}

.ag-ltr .ag-row-group-indent-13 {
  padding-left: calc(13 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-13 {
  padding-right: calc(13 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}

.ag-ltr .ag-row-group-indent-14 {
  padding-left: calc(14 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-14 {
  padding-right: calc(14 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}

.ag-ltr .ag-row-group-indent-15 {
  padding-left: calc(15 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-15 {
  padding-right: calc(15 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}

.ag-ltr .ag-row-group-indent-16 {
  padding-left: calc(16 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-16 {
  padding-right: calc(16 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}

.ag-ltr .ag-row-group-indent-17 {
  padding-left: calc(17 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-17 {
  padding-right: calc(17 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}

.ag-ltr .ag-row-group-indent-18 {
  padding-left: calc(18 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-18 {
  padding-right: calc(18 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}

.ag-ltr .ag-row-group-indent-19 {
  padding-left: calc(19 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-19 {
  padding-right: calc(19 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}

.ag-ltr .ag-row-group-indent-20 {
  padding-left: calc(20 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-20 {
  padding-right: calc(20 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}

.ag-ltr .ag-row-group-indent-21 {
  padding-left: calc(21 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-21 {
  padding-right: calc(21 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}

.ag-ltr .ag-row-group-indent-22 {
  padding-left: calc(22 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-22 {
  padding-right: calc(22 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}

.ag-ltr .ag-row-group-indent-23 {
  padding-left: calc(23 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-23 {
  padding-right: calc(23 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}

.ag-ltr .ag-row-group-indent-24 {
  padding-left: calc(24 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-24 {
  padding-right: calc(24 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}

.ag-ltr .ag-row-group-indent-25 {
  padding-left: calc(25 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-25 {
  padding-right: calc(25 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}

.ag-ltr .ag-row-group-indent-26 {
  padding-left: calc(26 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-26 {
  padding-right: calc(26 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}

.ag-ltr .ag-row-group-indent-27 {
  padding-left: calc(27 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-27 {
  padding-right: calc(27 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}

.ag-ltr .ag-row-group-indent-28 {
  padding-left: calc(28 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-28 {
  padding-right: calc(28 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}

.ag-ltr .ag-row-group-indent-29 {
  padding-left: calc(29 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-29 {
  padding-right: calc(29 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}

.ag-ltr .ag-row-group-indent-30 {
  padding-left: calc(30 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-30 {
  padding-right: calc(30 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}

.ag-ltr .ag-row-group-indent-31 {
  padding-left: calc(31 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-31 {
  padding-right: calc(31 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}

.ag-ltr .ag-row-group-indent-32 {
  padding-left: calc(32 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-32 {
  padding-right: calc(32 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}

.ag-ltr .ag-row-group-indent-33 {
  padding-left: calc(33 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-33 {
  padding-right: calc(33 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}

.ag-ltr .ag-row-group-indent-34 {
  padding-left: calc(34 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-34 {
  padding-right: calc(34 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}

.ag-ltr .ag-row-group-indent-35 {
  padding-left: calc(35 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-35 {
  padding-right: calc(35 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}

.ag-ltr .ag-row-group-indent-36 {
  padding-left: calc(36 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-36 {
  padding-right: calc(36 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}

.ag-ltr .ag-row-group-indent-37 {
  padding-left: calc(37 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-37 {
  padding-right: calc(37 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}

.ag-ltr .ag-row-group-indent-38 {
  padding-left: calc(38 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-38 {
  padding-right: calc(38 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}

.ag-ltr .ag-row-group-indent-39 {
  padding-left: calc(39 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-39 {
  padding-right: calc(39 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}

.ag-ltr .ag-row-group-indent-40 {
  padding-left: calc(40 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-40 {
  padding-right: calc(40 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}

.ag-ltr .ag-row-group-indent-41 {
  padding-left: calc(41 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-41 {
  padding-right: calc(41 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}

.ag-ltr .ag-row-group-indent-42 {
  padding-left: calc(42 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-42 {
  padding-right: calc(42 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}

.ag-ltr .ag-row-group-indent-43 {
  padding-left: calc(43 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-43 {
  padding-right: calc(43 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}

.ag-ltr .ag-row-group-indent-44 {
  padding-left: calc(44 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-44 {
  padding-right: calc(44 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}

.ag-ltr .ag-row-group-indent-45 {
  padding-left: calc(45 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-45 {
  padding-right: calc(45 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}

.ag-ltr .ag-row-group-indent-46 {
  padding-left: calc(46 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-46 {
  padding-right: calc(46 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}

.ag-ltr .ag-row-group-indent-47 {
  padding-left: calc(47 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-47 {
  padding-right: calc(47 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}

.ag-ltr .ag-row-group-indent-48 {
  padding-left: calc(48 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-48 {
  padding-right: calc(48 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}

.ag-ltr .ag-row-group-indent-49 {
  padding-left: calc(49 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-49 {
  padding-right: calc(49 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}

.ag-ltr .ag-row-group-indent-50 {
  padding-left: calc(50 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-50 {
  padding-right: calc(50 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}

.ag-ltr .ag-row-group-indent-51 {
  padding-left: calc(51 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-51 {
  padding-right: calc(51 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}

.ag-ltr .ag-row-group-indent-52 {
  padding-left: calc(52 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-52 {
  padding-right: calc(52 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}

.ag-ltr .ag-row-group-indent-53 {
  padding-left: calc(53 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-53 {
  padding-right: calc(53 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}

.ag-ltr .ag-row-group-indent-54 {
  padding-left: calc(54 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-54 {
  padding-right: calc(54 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}

.ag-ltr .ag-row-group-indent-55 {
  padding-left: calc(55 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-55 {
  padding-right: calc(55 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}

.ag-ltr .ag-row-group-indent-56 {
  padding-left: calc(56 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-56 {
  padding-right: calc(56 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}

.ag-ltr .ag-row-group-indent-57 {
  padding-left: calc(57 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-57 {
  padding-right: calc(57 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}

.ag-ltr .ag-row-group-indent-58 {
  padding-left: calc(58 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-58 {
  padding-right: calc(58 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}

.ag-ltr .ag-row-group-indent-59 {
  padding-left: calc(59 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-59 {
  padding-right: calc(59 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}

.ag-ltr .ag-row-group-indent-60 {
  padding-left: calc(60 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-60 {
  padding-right: calc(60 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}

.ag-ltr .ag-row-group-indent-61 {
  padding-left: calc(61 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-61 {
  padding-right: calc(61 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}

.ag-ltr .ag-row-group-indent-62 {
  padding-left: calc(62 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-62 {
  padding-right: calc(62 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}

.ag-ltr .ag-row-group-indent-63 {
  padding-left: calc(63 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-63 {
  padding-right: calc(63 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}

.ag-ltr .ag-row-group-indent-64 {
  padding-left: calc(64 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-64 {
  padding-right: calc(64 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}

.ag-ltr .ag-row-group-indent-65 {
  padding-left: calc(65 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-65 {
  padding-right: calc(65 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}

.ag-ltr .ag-row-group-indent-66 {
  padding-left: calc(66 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-66 {
  padding-right: calc(66 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}

.ag-ltr .ag-row-group-indent-67 {
  padding-left: calc(67 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-67 {
  padding-right: calc(67 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}

.ag-ltr .ag-row-group-indent-68 {
  padding-left: calc(68 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-68 {
  padding-right: calc(68 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}

.ag-ltr .ag-row-group-indent-69 {
  padding-left: calc(69 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-69 {
  padding-right: calc(69 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}

.ag-ltr .ag-row-group-indent-70 {
  padding-left: calc(70 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-70 {
  padding-right: calc(70 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}

.ag-ltr .ag-row-group-indent-71 {
  padding-left: calc(71 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-71 {
  padding-right: calc(71 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}

.ag-ltr .ag-row-group-indent-72 {
  padding-left: calc(72 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-72 {
  padding-right: calc(72 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}

.ag-ltr .ag-row-group-indent-73 {
  padding-left: calc(73 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-73 {
  padding-right: calc(73 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}

.ag-ltr .ag-row-group-indent-74 {
  padding-left: calc(74 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-74 {
  padding-right: calc(74 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}

.ag-ltr .ag-row-group-indent-75 {
  padding-left: calc(75 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-75 {
  padding-right: calc(75 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}

.ag-ltr .ag-row-group-indent-76 {
  padding-left: calc(76 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-76 {
  padding-right: calc(76 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}

.ag-ltr .ag-row-group-indent-77 {
  padding-left: calc(77 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-77 {
  padding-right: calc(77 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}

.ag-ltr .ag-row-group-indent-78 {
  padding-left: calc(78 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-78 {
  padding-right: calc(78 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}

.ag-ltr .ag-row-group-indent-79 {
  padding-left: calc(79 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-79 {
  padding-right: calc(79 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}

.ag-ltr .ag-row-group-indent-80 {
  padding-left: calc(80 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-80 {
  padding-right: calc(80 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}

.ag-ltr .ag-row-group-indent-81 {
  padding-left: calc(81 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-81 {
  padding-right: calc(81 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}

.ag-ltr .ag-row-group-indent-82 {
  padding-left: calc(82 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-82 {
  padding-right: calc(82 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}

.ag-ltr .ag-row-group-indent-83 {
  padding-left: calc(83 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-83 {
  padding-right: calc(83 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}

.ag-ltr .ag-row-group-indent-84 {
  padding-left: calc(84 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-84 {
  padding-right: calc(84 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}

.ag-ltr .ag-row-group-indent-85 {
  padding-left: calc(85 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-85 {
  padding-right: calc(85 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}

.ag-ltr .ag-row-group-indent-86 {
  padding-left: calc(86 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-86 {
  padding-right: calc(86 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}

.ag-ltr .ag-row-group-indent-87 {
  padding-left: calc(87 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-87 {
  padding-right: calc(87 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}

.ag-ltr .ag-row-group-indent-88 {
  padding-left: calc(88 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-88 {
  padding-right: calc(88 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}

.ag-ltr .ag-row-group-indent-89 {
  padding-left: calc(89 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-89 {
  padding-right: calc(89 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}

.ag-ltr .ag-row-group-indent-90 {
  padding-left: calc(90 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-90 {
  padding-right: calc(90 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}

.ag-ltr .ag-row-group-indent-91 {
  padding-left: calc(91 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-91 {
  padding-right: calc(91 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}

.ag-ltr .ag-row-group-indent-92 {
  padding-left: calc(92 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-92 {
  padding-right: calc(92 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}

.ag-ltr .ag-row-group-indent-93 {
  padding-left: calc(93 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-93 {
  padding-right: calc(93 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}

.ag-ltr .ag-row-group-indent-94 {
  padding-left: calc(94 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-94 {
  padding-right: calc(94 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}

.ag-ltr .ag-row-group-indent-95 {
  padding-left: calc(95 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-95 {
  padding-right: calc(95 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}

.ag-ltr .ag-row-group-indent-96 {
  padding-left: calc(96 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-96 {
  padding-right: calc(96 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}

.ag-ltr .ag-row-group-indent-97 {
  padding-left: calc(97 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-97 {
  padding-right: calc(97 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}

.ag-ltr .ag-row-group-indent-98 {
  padding-left: calc(98 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-98 {
  padding-right: calc(98 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}

.ag-ltr .ag-row-group-indent-99 {
  padding-left: calc(99 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-99 {
  padding-right: calc(99 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row-group-leaf-indent {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-group-leaf-indent {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-value-change-delta {
  padding-right: 2px;
}

.ag-value-change-delta-up {
  color: var(--ag-value-change-delta-up-color);
}

.ag-value-change-delta-down {
  color: var(--ag-value-change-delta-down-color);
}

.ag-value-change-value {
  background-color: transparent;
  border-radius: 1px;
  padding-left: 1px;
  padding-right: 1px;
  -webkit-transition: background-color 1s;
  -o-transition: background-color 1s;
  transition: background-color 1s;
}

.ag-value-change-value-highlight {
  background-color: var(--ag-value-change-value-highlight-background-color);
  -webkit-transition: background-color 0.1s;
  -o-transition: background-color 0.1s;
  transition: background-color 0.1s;
}

.ag-cell-data-changed {
  background-color: var(--ag-value-change-value-highlight-background-color) !important;
}

.ag-cell-data-changed-animation {
  background-color: transparent;
}

.ag-cell-highlight {
  background-color: var(--ag-range-selection-highlight-color) !important;
}

.ag-row {
  height: var(--ag-row-height);
  background-color: var(--ag-background-color);
  color: var(--ag-data-color);
  border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-sticky-bottom .ag-row {
  border-bottom: none;
  border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-row-highlight-above::after, .ag-row-highlight-below::after {
  content: "";
  position: absolute;
  width: calc(100% - 1px);
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
  left: 1px;
}

.ag-row-highlight-above::after {
  top: -1px;
}

.ag-row-highlight-above.ag-row-first::after {
  top: 0;
}

.ag-row-highlight-below::after {
  bottom: 0px;
}

.ag-row-odd {
  background-color: var(--ag-odd-row-background-color);
}

.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}
.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-row-selected::before {
  content: "";
  background-color: var(--ag-selected-row-background-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-row-hover:not(.ag-full-width-row)::before,
.ag-row-hover.ag-full-width-row.ag-row-group::before {
  content: "";
  background-color: var(--ag-row-hover-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ag-row-hover.ag-full-width-row.ag-row-group > * {
  position: relative;
}

.ag-row-hover.ag-row-selected::before {
  background-color: var(--ag-row-hover-color);
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--ag-selected-row-background-color)), to(var(--ag-selected-row-background-color)));
  background-image: -webkit-linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
  background-image: -o-linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
  background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
}

.ag-column-hover {
  background-color: var(--ag-column-hover-color);
}

.ag-ltr .ag-right-aligned-cell {
  text-align: right;
}
.ag-rtl .ag-right-aligned-cell {
  text-align: left;
}

.ag-ltr .ag-right-aligned-cell .ag-cell-value,
.ag-ltr .ag-right-aligned-cell .ag-group-value {
  margin-left: auto;
}
.ag-rtl .ag-right-aligned-cell .ag-cell-value,
.ag-rtl .ag-right-aligned-cell .ag-group-value {
  margin-right: auto;
}

.ag-cell, .ag-full-width-row .ag-cell-wrapper.ag-row-group {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  border: 1px solid transparent;
  line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
  -webkit-font-smoothing: subpixel-antialiased;
}

.ag-row > .ag-cell-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
}

.ag-row-dragging {
  cursor: move;
  opacity: 0.5;
}

.ag-cell-inline-editing {
  border: 1px solid var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: 0;
  background-color: var(--ag-control-panel-background-color);
}

.ag-popup-editor .ag-large-text,
.ag-autocomplete-list-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-control-panel-background-color);
  padding: 0;
}

.ag-large-text-input {
  height: auto;
  padding: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-large-text-input textarea {
  resize: none;
}

.ag-details-row {
  padding: calc(var(--ag-grid-size) * 5);
  background-color: var(--ag-background-color);
}

.ag-layout-auto-height .ag-center-cols-viewport, .ag-layout-auto-height .ag-center-cols-container, .ag-layout-print .ag-center-cols-viewport, .ag-layout-print .ag-center-cols-container {
  min-height: 50px;
}

.ag-overlay-loading-wrapper {
  background-color: var(--ag-modal-overlay-background-color);
}

.ag-overlay-loading-center {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
}

.ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 30px;
}

.ag-skeleton-container {
  width: 100%;
  height: 100%;
  -ms-flex-line-pack: center;
      align-content: center;
}

.ag-skeleton-effect {
  background-color: var(--ag-row-loading-skeleton-effect-color);
  width: 100%;
  height: 1em;
  border-radius: 0.25rem;
  -webkit-animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
          animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
}

@-webkit-keyframes ag-skeleton-loading {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}

@keyframes ag-skeleton-loading {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.ag-loading {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-align: center;
      align-items: center;
}
.ag-ltr .ag-loading {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-loading {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-loading-icon {
  padding-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-loading-icon {
  padding-left: var(--ag-cell-widget-spacing);
}

.ag-icon-loading {
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.ag-floating-top {
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-floating-bottom {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-cell {
  border-right: var(--ag-cell-horizontal-border);
}
.ag-rtl .ag-cell {
  border-left: var(--ag-cell-horizontal-border);
}
.ag-ltr .ag-cell {
  border-right-width: 1px;
}
.ag-rtl .ag-cell {
  border-left-width: 1px;
}

.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell-range-selected:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {
  background-color: var(--ag-range-selection-chart-background-color) !important;
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {
  background-color: var(--ag-range-selection-chart-category-background-color) !important;
}

.ag-cell-range-selected-1:not(.ag-cell-focus),
.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}

.ag-cell-range-selected-2:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {
  background-color: var(--ag-range-selection-background-color-2);
}

.ag-cell-range-selected-3:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {
  background-color: var(--ag-range-selection-background-color-3);
}

.ag-cell-range-selected-4:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {
  background-color: var(--ag-range-selection-background-color-4);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {
  border-top-color: var(--ag-range-selection-border-color);
  border-top-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {
  border-right-color: var(--ag-range-selection-border-color);
  border-right-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {
  border-bottom-color: var(--ag-range-selection-border-color);
  border-bottom-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {
  border-left-color: var(--ag-range-selection-border-color);
  border-left-style: var(--ag-range-selection-border-style);
}

.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-ltr .ag-cell-range-single-cell,
.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-rtl .ag-cell-range-single-cell,
.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {
  border: 1px solid;
  border-color: var(--ag-range-selection-border-color);
  border-style: var(--ag-range-selection-border-style);
  outline: initial;
}

.ag-cell.ag-selection-fill-top,
.ag-cell.ag-selection-fill-top.ag-cell-range-selected {
  border-top: 1px dashed;
  border-top-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-right,
.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-right,
.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-cell.ag-selection-fill-bottom,
.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {
  border-bottom: 1px dashed;
  border-bottom-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-left,
.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-left,
.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-fill-handle, .ag-range-handle {
  position: absolute;
  width: 6px;
  height: 6px;
  bottom: -1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-ltr .ag-fill-handle, .ag-ltr .ag-range-handle {
  right: -1px;
}
.ag-rtl .ag-fill-handle, .ag-rtl .ag-range-handle {
  left: -1px;
}

.ag-fill-handle {
  cursor: cell;
}

.ag-range-handle {
  cursor: nwse-resize;
}

.ag-cell-inline-editing {
  border-color: var(--ag-input-focus-border-color) !important;
}

.ag-menu {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-menu-background-color);
  border-color: var(--ag-menu-border-color);
  padding: 0;
}

.ag-menu-list {
  cursor: default;
  padding: var(--ag-grid-size) 0;
}

.ag-menu-separator {
  height: calc(var(--ag-grid-size) * 2 + 1px);
}

.ag-menu-separator-part::after {
  content: "";
  display: block;
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-menu-option-active, .ag-compact-menu-option-active {
  background-color: var(--ag-row-hover-color);
}

.ag-menu-option-part, .ag-compact-menu-option-part {
  line-height: var(--ag-icon-size);
  padding: calc(var(--ag-grid-size) + 2px) 0;
}

.ag-menu-option-disabled, .ag-compact-menu-option-disabled {
  opacity: 0.5;
}

.ag-menu-option-icon, .ag-compact-menu-option-icon {
  width: var(--ag-icon-size);
}
.ag-ltr .ag-menu-option-icon, .ag-ltr .ag-compact-menu-option-icon {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-menu-option-icon, .ag-rtl .ag-compact-menu-option-icon {
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-menu-option-text, .ag-compact-menu-option-text {
  padding-left: calc(var(--ag-grid-size) * 2);
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-menu-option-shortcut, .ag-ltr .ag-compact-menu-option-shortcut {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-shortcut, .ag-rtl .ag-compact-menu-option-shortcut {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-menu-option-popup-pointer, .ag-ltr .ag-compact-menu-option-popup-pointer {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-popup-pointer, .ag-rtl .ag-compact-menu-option-popup-pointer {
  padding-left: var(--ag-grid-size);
}

.ag-tabs {
  min-width: var(--ag-tab-min-width);
}

.ag-tabs-header {
  display: -ms-flexbox;
  display: flex;
}

.ag-tabs-header-wrapper {
  display: -ms-flexbox;
  display: flex;
}
.ag-tabs-header-wrapper .ag-tabs-header {
  -ms-flex: 1 1;
      flex: 1 1;
}

.ag-tabs-close-button-wrapper {
  border: 0;
  border-right: var(--ag-borders) var(--ag-border-color);
  padding: var(--ag-grid-size);
}

.ag-tabs-close-button {
  border: 0;
  background-color: unset;
  cursor: pointer;
  padding: 0;
}

.ag-tab {
  border-bottom: var(--ag-selected-tab-underline-width) solid transparent;
  -webkit-transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  -o-transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  display: -ms-flexbox;
  display: flex;
  -ms-flex: none;
      flex: none;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  cursor: pointer;
}

.ag-tab:focus-visible {
  outline: none;
}
.ag-tab:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-tab-selected {
  border-bottom-color: var(--ag-selected-tab-underline-color);
}

.ag-menu-header {
  color: var(--ag-secondary-foreground-color);
}

.ag-filter-separator {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-filter-select .ag-picker-field-wrapper {
  width: 0;
}

.ag-filter-condition-operator {
  height: 17px;
}

.ag-ltr .ag-filter-condition-operator-or {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-condition-operator-or {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-set-filter-select-all {
  padding-top: var(--ag-widget-container-vertical-padding);
}

.ag-set-filter-list, .ag-filter-no-matches {
  height: calc(var(--ag-list-item-height) * 6);
}

.ag-set-filter-tree-list {
  height: calc(var(--ag-list-item-height) * 10);
}

.ag-set-filter-filter {
  margin-top: var(--ag-widget-container-vertical-padding);
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-to {
  margin-top: var(--ag-widget-vertical-spacing);
}

.ag-mini-filter {
  margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-set-filter-item {
  padding: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-1 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-2 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-3 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-4 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-5 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-6 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-7 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-8 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-9 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}
.ag-rtl .ag-set-filter-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}

.ag-ltr .ag-set-filter-group-icons {
  margin-right: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-set-filter-group-icons {
  margin-left: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-menu .ag-set-filter-list {
  min-width: 200px;
}

.ag-filter-virtual-list-item:focus-visible {
  outline: none;
}
.ag-filter-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-apply-panel {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-filter-apply-panel-button {
  line-height: 1.5;
}
.ag-ltr .ag-filter-apply-panel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-apply-panel-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-simple-filter-body-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
  overflow-y: auto;
  min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));
}
.ag-simple-filter-body-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}
.ag-simple-filter-body-wrapper .ag-resizer-wrapper {
  margin: 0;
}

.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,
.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {
  min-width: calc(var(--ag-menu-min-width) - 2px);
}

.ag-filter-no-matches {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-multi-filter-menu-item {
  margin: var(--ag-grid-size) 0;
}

.ag-multi-filter-group-title-bar {
  padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);
  background-color: transparent;
}

.ag-group-filter-field-select-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-group-filter-field-select-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-multi-filter-group-title-bar:focus-visible {
  outline: none;
}
.ag-multi-filter-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-side-bar {
  position: relative;
}

.ag-tool-panel-wrapper {
  width: var(--ag-side-bar-panel-width);
  background-color: var(--ag-control-panel-background-color);
}

.ag-side-buttons {
  padding-top: calc(var(--ag-grid-size) * 4);
  width: calc(var(--ag-icon-size) + 4px);
  position: relative;
  overflow: hidden;
}

button.ag-side-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  background: transparent;
  padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;
  width: 100%;
  margin: 0;
  min-height: calc(var(--ag-grid-size) * 18);
  background-position-y: center;
  background-position-x: center;
  background-repeat: no-repeat;
  border: none;
  border-top: var(--ag-borders-side-button) var(--ag-border-color);
  border-bottom: var(--ag-borders-side-button) var(--ag-border-color);
}
button.ag-side-button-button:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.ag-side-button-button:focus-visible {
  outline: none;
}
.ag-side-button-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-selected button.ag-side-button-button {
  background-color: var(--ag-side-button-selected-background-color);
}

.ag-side-button-icon-wrapper {
  margin-bottom: 3px;
}

.ag-ltr .ag-side-bar-left,
.ag-rtl .ag-side-bar-right {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-side-button-button {
  border-right: var(--ag-selected-tab-underline-width) solid transparent;
  -webkit-transition: border-right var(--ag-selected-tab-underline-transition-speed);
  -o-transition: border-right var(--ag-selected-tab-underline-transition-speed);
  transition: border-right var(--ag-selected-tab-underline-transition-speed);
}
.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-right-color: var(--ag-selected-tab-underline-color);
}

.ag-rtl .ag-side-bar-left,
.ag-ltr .ag-side-bar-right {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-side-button-button {
  border-left: var(--ag-selected-tab-underline-width) solid transparent;
  -webkit-transition: border-left var(--ag-selected-tab-underline-transition-speed);
  -o-transition: border-left var(--ag-selected-tab-underline-transition-speed);
  transition: border-left var(--ag-selected-tab-underline-transition-speed);
}
.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-left-color: var(--ag-selected-tab-underline-color);
}

.ag-filter-toolpanel-header {
  height: calc(var(--ag-grid-size) * 6);
}

.ag-filter-toolpanel-header,
.ag-filter-toolpanel-search {
  padding: 0 var(--ag-grid-size);
}

.ag-filter-toolpanel-header:focus-visible {
  outline: none;
}
.ag-filter-toolpanel-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-toolpanel-group:not(.ag-has-filter) > .ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon {
  display: none;
}

.ag-filter-toolpanel-group-level-0-header {
  height: calc(var(--ag-grid-size) * 8);
}

.ag-filter-toolpanel-group-item {
  margin-top: calc(var(--ag-grid-size) * 0.5);
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-filter-toolpanel-search {
  height: var(--ag-header-height);
}

.ag-filter-toolpanel-search-input {
  -ms-flex-positive: 1;
      flex-grow: 1;
  height: calc(var(--ag-grid-size) * 4);
}
.ag-ltr .ag-filter-toolpanel-search-input {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-search-input {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-0 {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-ltr .ag-filter-toolpanel-expand,
.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-expand,
.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}

.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {
  padding-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-instance-filter {
  border-bottom: var(--ag-borders) var(--ag-border-color);
  border-top: var(--ag-borders) var(--ag-border-color);
  margin-top: var(--ag-grid-size);
}

.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,
.ag-ltr .ag-filter-toolpanel-instance-header-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,
.ag-rtl .ag-filter-toolpanel-instance-header-icon {
  margin-right: var(--ag-grid-size);
}

.ag-set-filter-group-icons {
  color: var(--ag-secondary-foreground-color);
}

.ag-pivot-mode-panel {
  min-height: var(--ag-header-height);
  height: var(--ag-header-height);
  display: -ms-flexbox;
  display: flex;
}

.ag-pivot-mode-select {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.ag-ltr .ag-pivot-mode-select {
  margin-left: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-pivot-mode-select {
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-column-select-header:focus-visible {
  outline: none;
}
.ag-column-select-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-header {
  height: var(--ag-header-height);
  -ms-flex-align: center;
      align-items: center;
  padding: 0 var(--ag-widget-container-horizontal-padding);
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-panel-column-select {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-group-icons,
.ag-column-select-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-column-select-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-column-select-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-column-select-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-header, .ag-advanced-filter-header {
  background-color: var(--ag-header-background-color);
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-row {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
}

.ag-pinned-right-header {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-pinned-left-header {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}

.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}

.ag-header-cell,
.ag-header-group-cell {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}
.ag-header-cell.ag-header-cell-moving,
.ag-header-group-cell.ag-header-cell-moving {
  background-color: var(--ag-header-cell-moving-background-color);
}

.ag-ltr .ag-header-group-cell-label.ag-sticky-label {
  left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-group-cell-label.ag-sticky-label {
  right: var(--ag-cell-horizontal-padding);
}

.ag-header-cell:focus-visible {
  outline: none;
}
.ag-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-group-cell:focus-visible {
  outline: none;
}
.ag-header-group-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-header-cell:focus-visible {
  outline: none;
}
.ag-advanced-filter-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-header-expand-icon {
  cursor: pointer;
}
.ag-ltr .ag-header-expand-icon {
  margin-left: 4px;
}
.ag-rtl .ag-header-expand-icon {
  margin-right: 4px;
}

.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),
.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-group-cell:first-of-type.ag-column-resizing,
.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {
  background-color: var(--ag-header-cell-hover-background-color);
}

.ag-header-cell::before,
.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-separator-display);
  width: var(--ag-header-column-separator-width);
  height: var(--ag-header-column-separator-height);
  top: calc(50% - var(--ag-header-column-separator-height) * 0.5);
  background-color: var(--ag-header-column-separator-color);
}
.ag-ltr .ag-header-cell::before,
.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  right: 0;
}
.ag-rtl .ag-header-cell::before,
.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  left: 0;
}

.ag-header-cell-resize {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.ag-header-cell-resize::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-resize-handle-display);
  width: var(--ag-header-column-resize-handle-width);
  height: var(--ag-header-column-resize-handle-height);
  top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);
  background-color: var(--ag-header-column-resize-handle-color);
}
.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {
  height: calc(100% - var(--ag-grid-size) * 4);
  top: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}
.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {
  right: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-left-header .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-right-header .ag-header-cell-resize::after {
  left: 50%;
}

.ag-ltr .ag-header-select-all {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-select-all {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-floating-filter-button {
  margin-left: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-floating-filter-button {
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-floating-filter-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  height: var(--ag-icon-size);
  padding: 0;
  width: var(--ag-icon-size);
}

.ag-filter-loading {
  background-color: var(--ag-control-panel-background-color);
  height: 100%;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  position: absolute;
  width: 100%;
  z-index: 1;
}

.ag-paging-panel {
  border-top: 1px solid;
  border-top-color: var(--ag-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
}
.ag-paging-panel > * {
  margin: 0 var(--ag-cell-horizontal-padding);
}
.ag-paging-panel > .ag-paging-page-size .ag-wrapper {
  min-width: calc(var(--ag-grid-size) * 10);
}

.ag-paging-button {
  cursor: pointer;
}

.ag-paging-button.ag-disabled {
  cursor: default;
  color: var(--ag-disabled-foreground-color);
}

.ag-paging-button:focus-visible {
  outline: none;
}
.ag-paging-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-paging-button, .ag-paging-description {
  margin: 0 var(--ag-grid-size);
}

.ag-status-bar {
  border-top: var(--ag-borders) var(--ag-border-color);
  color: var(--ag-disabled-foreground-color);
  padding-right: calc(var(--ag-grid-size) * 4);
  padding-left: calc(var(--ag-grid-size) * 4);
  line-height: 1.5;
}

.ag-status-name-value-value {
  color: var(--ag-foreground-color);
}

.ag-status-bar-center {
  text-align: center;
}

.ag-status-name-value {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
  padding-top: calc(var(--ag-grid-size) * 2);
  padding-bottom: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell {
  background: var(--ag-chip-background-color);
  border-radius: calc(var(--ag-grid-size) * 4);
  height: calc(var(--ag-grid-size) * 4);
  padding: 0 calc(var(--ag-grid-size) * 0.5);
  border: 1px solid var(--ag-chip-border-color);
}

.ag-column-drop-cell:focus-visible {
  outline: none;
}
.ag-column-drop-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 2px;
  left: 2px;
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-drop-cell-text {
  margin: 0 var(--ag-grid-size);
}

.ag-column-drop-cell-button {
  min-width: calc(var(--ag-grid-size) * 4);
  margin: 0 calc(var(--ag-grid-size) * 0.5);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-cell-drag-handle {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell-ghost {
  opacity: 0.5;
}

.ag-column-drop-horizontal {
  background-color: var(--ag-header-background-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-column-drop-horizontal {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-column-drop-horizontal-cell-separator {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-horizontal-empty-message {
  color: var(--ag-disabled-foreground-color);
}

.ag-ltr .ag-column-drop-horizontal-icon {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal-icon {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-column-drop-vertical-list {
  padding-bottom: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
  padding-left: var(--ag-grid-size);
}

.ag-column-drop-vertical-cell {
  margin-top: var(--ag-grid-size);
}

.ag-column-drop-vertical {
  min-height: 50px;
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-column-drop-vertical.ag-last-column-drop {
  border-bottom: none;
}

.ag-column-drop-vertical-icon {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
}

.ag-column-drop-vertical-empty-message {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  color: var(--ag-disabled-foreground-color);
  margin-top: var(--ag-grid-size);
}

.ag-select-agg-func-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  -webkit-box-shadow: var(--ag-card-shadow);
          box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background: var(--ag-background-color);
  height: calc(var(--ag-grid-size) * 5 * 3.5);
  padding: 0;
}

.ag-select-agg-func-virtual-list-item {
  cursor: default;
}
.ag-ltr .ag-select-agg-func-virtual-list-item {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-select-agg-func-virtual-list-item {
  padding-right: calc(var(--ag-grid-size) * 2);
}
.ag-select-agg-func-virtual-list-item:hover {
  background-color: var(--ag-selected-row-background-color);
}

.ag-select-agg-func-virtual-list-item:focus-visible {
  outline: none;
}
.ag-select-agg-func-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-sort-indicator-container {
  display: -ms-flexbox;
  display: flex;
}

.ag-ltr .ag-sort-indicator-icon {
  padding-left: var(--ag-grid-size);
}
.ag-rtl .ag-sort-indicator-icon {
  padding-right: var(--ag-grid-size);
}

.ag-chart {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-chart-components-wrapper {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  overflow: hidden;
}

.ag-chart-title-edit {
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  text-align: center;
}

.ag-chart-title-edit.currently-editing {
  display: inline-block;
}

.ag-chart-canvas-wrapper {
  position: relative;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  overflow: hidden;
}

.ag-charts-canvas {
  display: block;
}

.ag-chart-menu {
  position: absolute;
  top: 16px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
.ag-ltr .ag-chart-menu {
  right: 20px;
}
.ag-rtl .ag-chart-menu {
  left: 20px;
}

.ag-chart-docked-container {
  position: relative;
  width: 0;
  min-width: 0;
  -webkit-transition: min-width 0.4s;
  -o-transition: min-width 0.4s;
  transition: min-width 0.4s;
}

.ag-chart-menu-hidden ~ .ag-chart-docked-container {
  max-width: 0;
  overflow: hidden;
}

.ag-chart-tabbed-menu {
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden;
}

.ag-chart-tabbed-menu-header {
  -ms-flex: none;
      flex: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

.ag-chart-tabbed-menu-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-align: stretch;
      align-items: stretch;
  overflow: hidden;
}

.ag-chart-tab {
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
}

.ag-chart-settings {
  overflow-x: hidden;
}

.ag-chart-settings-wrapper {
  position: relative;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.ag-chart-settings-nav-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 30px;
  padding: 0 10px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-chart-settings-card-selector {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  height: 100%;
  padding: 0 10px;
}

.ag-chart-settings-card-item {
  cursor: pointer;
  width: 10px;
  height: 10px;
  background-color: #000;
  position: relative;
}
.ag-chart-settings-card-item.ag-not-selected {
  opacity: 0.2;
}
.ag-chart-settings-card-item::before {
  content: " ";
  display: block;
  position: absolute;
  background-color: transparent;
  left: 50%;
  top: 50%;
  margin-left: -10px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
}

.ag-chart-settings-prev,
.ag-chart-settings-next {
  position: relative;
  -ms-flex: none;
      flex: none;
}

.ag-chart-settings-prev-button,
.ag-chart-settings-next-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.ag-chart-settings-mini-charts-container {
  position: relative;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
}

.ag-chart-settings-mini-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
}
.ag-chart-settings-mini-wrapper.ag-animating {
  -webkit-transition: left 0.3s;
  -o-transition: left 0.3s;
  transition: left 0.3s;
  -webkit-transition-timing-function: ease-in-out;
       -o-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

.ag-chart-mini-thumbnail {
  cursor: pointer;
}

.ag-chart-mini-thumbnail-canvas {
  display: block;
}

.ag-chart-data-wrapper,
.ag-chart-format-wrapper,
.ag-chart-advanced-settings-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-bottom: 16px;
}

.ag-chart-data-wrapper,
.ag-chart-advanced-settings-wrapper {
  height: 100%;
  overflow-y: auto;
}

.ag-chart-advanced-settings {
  background-color: var(--ag-control-panel-background-color);
}

.ag-chart-advanced-settings-wrapper, .ag-chart-advanced-settings {
  width: 100%;
}

.ag-chart-advanced-settings-wrapper {
  padding-bottom: 0;
}

.ag-chart-data-section,
.ag-chart-format-section,
.ag-chart-advanced-settings-section {
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.ag-chart-advanced-settings-section {
  border-bottom: 1px solid var(--ag-secondary-border-color);
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-chart-empty-text {
  display: -ms-flexbox;
  display: flex;
  top: 0;
  width: 100%;
  height: 100%;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: var(--ag-background-color);
}

.ag-chart .ag-chart-menu {
  display: none;
}

.ag-chart-menu-hidden:hover .ag-chart-menu {
  display: block;
}

.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  top: 8px;
  gap: 20px;
  width: auto;
}
.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  -ms-flex-pack: right;
      justify-content: right;
}
.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  -ms-flex-pack: left;
      justify-content: left;
}

.ag-chart-menu-close {
  display: none;
}

.ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  position: absolute;
  top: 50%;
  -webkit-transition: -webkit-transform 0.33s ease-in-out;
  transition: -webkit-transform 0.33s ease-in-out;
  -o-transition: transform 0.33s ease-in-out;
  transition: transform 0.33s ease-in-out;
  transition: transform 0.33s ease-in-out, -webkit-transform 0.33s ease-in-out;
  padding: 0;
  display: block;
  cursor: pointer;
  border: none;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  right: 0px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  left: 0px;
}
.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon {
  padding: 14px 5px 14px 2px;
  width: auto;
  height: auto;
}
.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  content: "";
  position: absolute;
  top: -40px;
  bottom: -40px;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: 0px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: 0px;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: -10px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: -10px;
}
.ag-chart-tool-panel-button-enable .ag-icon-menu {
  display: none;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  -webkit-transform: translate(3px, -50%);
      -ms-transform: translate(3px, -50%);
          transform: translate(3px, -50%);
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  -webkit-transform: translate(5px, -50%);
      -ms-transform: translate(5px, -50%);
          transform: translate(5px, -50%);
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  -webkit-transform: translate(-3px, -50%);
      -ms-transform: translate(-3px, -50%);
          transform: translate(-3px, -50%);
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  -webkit-transform: translate(-5px, -50%);
      -ms-transform: translate(-5px, -50%);
          transform: translate(-5px, -50%);
}

.ag-charts-font-size-color {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.ag-charts-data-group-item {
  position: relative;
}

.ag-charts-data-group-item:not(:last-child) {
  margin-bottom: var(--ag-grid-size);
}

.ag-chart-menu {
  border-radius: var(--ag-card-radius);
  background: var(--ag-background-color);
}

.ag-chart-menu-icon {
  opacity: 0.5;
  margin: 2px 0;
  cursor: pointer;
  border-radius: var(--ag-card-radius);
  color: var(--ag-secondary-foreground-color);
}
.ag-chart-menu-icon:hover {
  opacity: 1;
}

.ag-chart-menu-toolbar-button {
  border: 0;
  background-color: unset;
  padding: 0 2px;
  border-radius: 1px;
}

.ag-chart-mini-thumbnail {
  border: 1px solid var(--ag-secondary-border-color);
  border-radius: 5px;
}
.ag-chart-mini-thumbnail.ag-selected {
  border-color: var(--ag-minichart-selected-chart-color);
}

.ag-chart-settings-card-item {
  background: var(--ag-foreground-color);
  width: 8px;
  height: 8px;
  border-radius: 4px;
}
.ag-chart-settings-card-item.ag-selected {
  background-color: var(--ag-minichart-selected-page-color);
}

.ag-chart-data-column-drag-handle {
  margin-left: var(--ag-grid-size);
}

.ag-charts-settings-group-title-bar,
.ag-charts-data-group-title-bar,
.ag-charts-format-top-level-group-title-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  position: relative;
}

.ag-charts-advanced-settings-top-level-group-title-bar {
  position: relative;
  background-color: unset;
}

.ag-charts-settings-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-settings-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-data-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-data-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-format-top-level-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-format-top-level-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-data-group-container {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);
}
.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select) {
  height: var(--ag-list-item-height);
}
.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field {
  margin-top: var(--ag-grid-size);
}
.ag-charts-data-group-container .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-charts-data-group-container .ag-item-highlight-top::after {
  top: 0;
}
.ag-charts-data-group-container .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-charts-format-top-level-group-container,
.ag-charts-advanced-settings-top-level-group-container {
  margin-left: calc(var(--ag-grid-size) * 2);
  padding: var(--ag-grid-size);
}

.ag-charts-format-top-level-group-item,
.ag-charts-advanced-settings-top-level-group-item {
  margin: var(--ag-grid-size) 0;
}

.ag-charts-format-sub-level-group-container {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-charts-format-sub-level-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-settings-group-container {
  padding: var(--ag-grid-size);
  row-gap: 8px;
  display: grid;
  grid-template-columns: 60px 1fr 60px 1fr 60px;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1) {
  grid-column: 1;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2) {
  grid-column: 3;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3) {
  grid-column: 5;
}

.ag-chart-menu-panel {
  background-color: var(--ag-control-panel-background-color);
}
.ag-ltr .ag-chart-menu-panel {
  border-left: solid 1px var(--ag-border-color);
}
.ag-rtl .ag-chart-menu-panel {
  border-right: solid 1px var(--ag-border-color);
}

.ag-date-time-list-page-title-bar {
  display: -ms-flexbox;
  display: flex;
}

.ag-date-time-list-page-title {
  -ms-flex-positive: 1;
      flex-grow: 1;
  text-align: center;
}

.ag-date-time-list-page-column-labels-row,
.ag-date-time-list-page-entries-row {
  display: -ms-flexbox;
  display: flex;
}

.ag-date-time-list-page-column-label,
.ag-date-time-list-page-entry {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-positive: 1;
      flex-grow: 1;
}

.ag-date-time-list-page-entry {
  cursor: pointer;
  text-align: center;
}

.ag-date-time-list-page-column-label {
  text-align: center;
}

.ag-advanced-filter-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-advanced-filter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
}

.ag-advanced-filter-apply-button, .ag-advanced-filter-builder-button {
  line-height: normal;
  white-space: nowrap;
}
.ag-ltr .ag-advanced-filter-apply-button, .ag-ltr .ag-advanced-filter-builder-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-advanced-filter-apply-button, .ag-rtl .ag-advanced-filter-builder-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  border: 0;
  background-color: unset;
  color: var(--ag-foreground-color);
  font-size: var(--ag-font-size);
  font-weight: 600;
}
.ag-advanced-filter-builder-button:hover:not(:disabled) {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-button:not(:disabled) {
  cursor: pointer;
}

.ag-advanced-filter-builder-button-label {
  margin-left: var(--ag-grid-size);
}

.ag-advanced-filter-builder {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
  background-color: var(--ag-control-panel-background-color);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}

.ag-advanced-filter-builder-list {
  -ms-flex: 1 1;
      flex: 1 1;
  overflow: auto;
}
.ag-advanced-filter-builder-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-advanced-filter-builder-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-advanced-filter-builder-button-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,
.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-item-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  overflow: hidden;
  padding-left: calc(var(--ag-icon-size) / 2);
  padding-right: var(--ag-icon-size);
}

.ag-advanced-filter-builder-item-tree-lines > * {
  width: var(--ag-advanced-filter-builder-indent-size);
}

.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {
  width: var(--ag-icon-size);
}
.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {
  top: 50%;
  height: 50%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal,
.ag-advanced-filter-builder-item-tree-line-vertical,
.ag-advanced-filter-builder-item-tree-line-vertical-top,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom {
  position: relative;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,
.ag-advanced-filter-builder-item-tree-line-vertical::before,
.ag-advanced-filter-builder-item-tree-line-vertical::after,
.ag-advanced-filter-builder-item-tree-line-vertical-top::before,
.ag-advanced-filter-builder-item-tree-line-vertical-top::after,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {
  content: "";
  position: absolute;
  height: 100%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal::after {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-bottom: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical::before {
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-top::before {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {
  height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);
  width: calc(var(--ag-icon-size) / 2);
  top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-condition {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-advanced-filter-builder-item,
.ag-advanced-filter-builder-item-condition,
.ag-advanced-filter-builder-pill-wrapper,
.ag-advanced-filter-builder-pill,
.ag-advanced-filter-builder-item-buttons,
.ag-advanced-filter-builder-item-tree-lines {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
}

.ag-advanced-filter-builder-pill-wrapper {
  margin: 0px var(--ag-grid-size);
}

.ag-advanced-filter-builder-pill {
  position: relative;
  border-radius: var(--ag-border-radius);
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  min-height: calc(100% - var(--ag-grid-size) * 3);
  min-width: calc(var(--ag-grid-size) * 2);
}
.ag-advanced-filter-builder-pill .ag-picker-field-display {
  margin-right: var(--ag-grid-size);
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {
  font-family: monospace;
  font-weight: 700;
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {
  color: var(--ag-disabled-foreground-color);
}

.ag-advanced-filter-builder-pill:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-pill:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-item-button:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-item-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-pill-display {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.ag-advanced-filter-builder-join-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-join-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-column-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-column-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-option-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-option-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-value-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-value-pill-color);
  cursor: text;
  max-width: 140px;
}
.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {
  display: block;
}

.ag-advanced-filter-builder-item-buttons > * {
  margin: 0 calc(var(--ag-grid-size) * 0.5);
}

.ag-advanced-filter-builder-item-button {
  position: relative;
  cursor: pointer;
  color: var(--ag-secondary-foreground-color);
  opacity: 50%;
}

.ag-advanced-filter-builder-item-button-disabled {
  color: var(--ag-disabled-foreground-color);
  cursor: default;
}

.ag-advanced-filter-builder-virtual-list-container {
  top: var(--ag-grid-size);
}

.ag-advanced-filter-builder-virtual-list-item {
  display: -ms-flexbox;
  display: flex;
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-advanced-filter-builder-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {
  opacity: 100%;
}

.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,
.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {
  opacity: 100%;
}

.ag-advanced-filter-builder-invalid {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-invalid-color);
  cursor: default;
}

.ag-input-field-input {
  width: 100%;
  min-width: 0;
}

.ag-checkbox-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  -ms-flex: none;
      flex: none;
}
.ag-checkbox-input-wrapper input, .ag-checkbox-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {
  outline: none;
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-checkbox-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-checkbox-input-wrapper::after {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-indeterminate::after {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  color: var(--ag-checkbox-indeterminate-color);
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-indeterminate::before {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-toggle-button-input-wrapper {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: var(--ag-toggle-button-width);
  min-width: var(--ag-toggle-button-width);
  max-width: var(--ag-toggle-button-width);
  height: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-off-background-color);
  border-radius: calc(var(--ag-toggle-button-height) * 0.5);
  position: relative;
  -ms-flex: none;
      flex: none;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-off-border-color);
}
.ag-toggle-button-input-wrapper input {
  opacity: 0;
  height: 100%;
  width: 100%;
}
.ag-toggle-button-input-wrapper:focus-within {
  outline: none;
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-toggle-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-toggle-button-input-wrapper.ag-checked {
  background-color: var(--ag-toggle-button-on-background-color);
  border-color: var(--ag-toggle-button-on-border-color);
}
.ag-toggle-button-input-wrapper::before {
  content: " ";
  position: absolute;
  top: calc(0px - var(--ag-toggle-button-border-width));
  left: calc(0px - var(--ag-toggle-button-border-width));
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: var(--ag-toggle-button-height);
  width: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-switch-background-color);
  border-radius: 100%;
  -webkit-transition: left 100ms;
  -o-transition: left 100ms;
  transition: left 100ms;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-switch-border-color);
}
.ag-toggle-button-input-wrapper.ag-checked::before {
  left: calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));
  border-color: var(--ag-toggle-button-on-border-color);
}

.ag-radio-button-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  -ms-flex: none;
      flex: none;
  border-radius: var(--ag-icon-size);
}
.ag-radio-button-input-wrapper input, .ag-radio-button-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {
  outline: none;
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-radio-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-radio-button-input-wrapper::after {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}
.ag-radio-button-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

input[class^=ag-][type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  background: none;
  overflow: visible;
}
input[class^=ag-][type=range]::-webkit-slider-runnable-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-moz-range-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-ms-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
  color: transparent;
  width: calc(100% - 2px);
}
input[class^=ag-][type=range]::-webkit-slider-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
  -webkit-transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));
          transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));
}
input[class^=ag-][type=range]::-ms-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]::-moz-ag-range-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]:focus {
  outline: none;
}
input[class^=ag-][type=range]:focus::-webkit-slider-thumb {
  -webkit-box-shadow: var(--ag-input-focus-box-shadow);
          box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-ms-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-moz-ag-range-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-ms-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:disabled {
  opacity: 0.5;
}
@font-face {
  font-family: "agGridAlpine";
  src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABMUAAsAAAAAKMwAABLCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KqmyjKwE2AiQDgkALgSIABCAFhEYHhUEbnyMzg/aatGqziOpJNvu/JGhLhnjjdVVKiQVRRpQIMYb+arBrcnXzpDWxiZ/03+6d7uYA0kgNGvfxjeHHsZxySFI0efhYa+/v7iGeriQ0iXmiiXjIROjWyEwnREJiiNL8r7ned9lNjoj/UviIZqqAwagvZXWN7vQH2uY/PCuxGixE3Zco9c7GTcI4jGiM5Ixl6zZYJOu4deqq/4JF6qJ74B9A4MjcdjWnBf6vzeoX1p0qiEwH0j3ielqTJCVtAmTUucAVrqMqJHm7J9HDZROQwmB/an6zL7XMHhb7kozZWv+/7xgEJkGCJ4SvEGy5v2EaHaSESvAJKgL+b+1f7X9BlMATAqHj4/Ts7Pz/9965+zA0mU+02dBmQ5sfphJYIEX8Xjanfa8cAFStrQKWdRW+vpqEqbN1cToVOJ6CtsfmMoLfUD/X9o81JEiwSx5ix9/Y/D1YFRZgNHb89HY+AigxopP6BiQ4BLYXmusgA7t/bICvlWN7o7wQXGc5eKRfcJ1eti2g4qav/kYgjmNd0tLkOJ2Z/s9UagziUjLg4EUfjozhKEJQaXQSBRvG1xhMyJishB+RIifj9w6SMEZ1KBbXsdcUQmxLtN9Y2RPEjbehOT882Zbg6JXTtclU1IKAeRSMqKLcjrgNk40wT889wmXtgNBtcVthsjULZ4tB2WK6N7J190VFqlzEbaj5YYFjdj8VOa0t8WaELTaNWbZ2zJ36dM0BpxvCVJZlmP07Ku01wgZhT+xoxJdg3JpQhms8MU4R0KC64anv+rx2E9QmUFl/ortRSm2LPVbXu/6mNu5MGHAN4b2DK64KlaiuEGXqwIjTcKY+GVvvXXv07MWrT/8ARxGnhMUgqnrxK5p1WI/vEslM7FNW4qVzW4pQxmZGfTcfLa5FzMYh1DDHeHmEBYawVuhveThz4/Z2dCZM6QPZepCtu0Awgr9fxzGZfEA7NUeBnvZPglAHxmEeGS0TuaKyQz0dlSU+5CaqdHjGJPZMGbqSalOhn8ZkfcgmGZmvf+NtZ3kuxJoanXfBFT1apf/pNpfg7r5/jDDbG8TMmArFxZdY2RunTLjo7A1bhEgOKxy/44qp4TPcaX8TBaqr5I03XL2wOnWsmcJR+qYaVC4sUcTEa3fttqtEtmJTFzkEkKOHEg0IW2xbu847njOcPMS1HEguk4O4evv+401DJCAhp+5PaGo1rgT+qPli3jGfRZOPcxsxeZA4fApUAxlI8uONUTX04VdDPKlrg/1DGRcJ1vfKR7+/mgs1Hnnj81f8qLjXwfcQzmm4Aq0wK9YeoM575jiqJZvSu0mGAXtHYlg7unCQIJhMGY7Vxc3Dy8cvICgkLCIabTAhKSXtT4BZOXkFRSVlFVU1dQ1NLW0dXT19A0MlI2MTSMjUzNwViAL3M3lQqcZ+K0F0pgsVlj2jUW27//+7xP6ErY9y4JcBemZdmAFqntggsMAagUXWDyyxbmCZDQErrAVYZRPAGmsC1lkvsMHagC3WB2yzHmCHDQO7rAPYY+3APhsFDlkzcMS6gGPWCpywEeCUjQNnrBM4ZwPABRsDLkdPgi8AvREIIQhCMIQQCKEQwiCEQ4iAEAkhCkI0hBgIsRDiIMRDSICQCCEJQjKEFAipENIgpEPIgJAJIQtCNoQcCLkQ8iDkQyiAUAihCEIxhBIIpRDKIJRDqIBQCaEKQjWEGgi1EOog1LM3nQboL40QmiA0m0QKvha7bbRCebRBaIfQAWjE1KT6Mbe4oaAEFD15V8c1Npu8CiuJ+AgmZ+ibQWlcWmSAxALcWmEZSyAXGzLeJkSCSHP7vut0TVNSh01dwfysllW0nFagpJbIKHpGxmNm9hthJGqxHh2r9a1LpXoZteJbRCtpSsJSTEsukVAcjaubhmElaof2qUe+BlVN1Giq1mAaAZwEyNjKPVCn9M/ombCZRJqctqcDmwMD6YIbHZTN5WLZAkbni25GeSMT81p3zBduRVryQiIyK7q2F9KY/XxW7heJar+AV/4A237mtCB4kYk89YiCOQFcIhL20uGLC5C//SXJRK8vo5pgx6uNrmAl9nqbrUmU8rR0zekKrHF/ZrbTLBjbkj1RfwZ8jD6jIGTXaC+ppjqxRFrkNJGP9hy7FDGeHl4FhagGY/X+NWKIFlCDQdymq8aSUjqFqWvzkiu8bbxidd5BC5FI3fF2jDbWGGyHuZOQtm5/x4kTONSe2rVrHwpWnb9Nov1nwZZwm7XrFA63gb0no9N9tm+PtjL/zA0c+m27WJbiO3duJdFGFKiPWcdOnQvOn15mzcmdkfJv2xWeAFu3msOOmlv/ywgmtudQ7OBWH57bsiXY22Zxy0oiunOJu23/6avmojw/8UbZj+OwUkFBDKcnL4LlKINqlUTcrvDGGf/szej2+eDcraXhh5YpEnwqsZbt+05dyXoFKq+nwn92ShXNCF6yaHCcROsbmMjVyCpwAIykbGupvSPhMYsX7aOP4HADCurdUp6yJYUFrFqsL8zM7IV47ry5hRjHlQq3cper7EY8sVz1JEovtIkocwPG87er0DaWVUVFTeGaqMp0HFOhdHeVMhkVV0tzq8tXBfsy//f1KNCUo9RSBsUQa7goUOYSCQuMCJP3Zbl1eg901ANJ1JRAwAFWOYEiMGh9B6P5mSBGbmFdFGynyI2W4PF7ElIWwub1lx8hNmUO1YOBRJcelh+8wWAXdQFOYZnMheiyn3mxR0fGUhmEAcuc0OnNoWUCwy9APEPC6JLB3qh3kZxqcakMAz8X5/svbeB0nmCM8gVMTMCsHehWTxx6nn2v4oSV+aW7ZfBDrePhfZfDN33xNOiUOjI9Wu+fCE8FpxclVQIGIiWe206+Due/uv6F2Dfh9JzjOWfkmZE3plNza8PBsWdmDuV0/pIj2R1mA3029clIJ3d6wO7BvYW5lWx1PN6He1fL5X6/NO6J46m/dV+rVPr/2rK/Wp3xZ1dSKYvrnwdUl/rm3o/ThqFSdj1Ba/Tqqdhcb67xvOzTGc/HnB6w3B9EEI8HEiTC8ENfShDpAdJ/36fp3UfwVDATzzCQDf0hai8P8iAP1iG7MWwHe49R29iVpyW9Jvtm//FoVsNrHYxLzl1zj65MQXIJUXDHTCplOz0lt6XklEpsrSs6PLMb6BSjDSNiDdgbT82/rqLjG1PMyGr2IobBMyLY+X4EAyY1FNd7H4onDuKwRiWMHcCARyf3nsBnvo5KE1xM9KRgXZq0hw+FgIGlhoMR4oeQzvBT8Dn66H9YSWzWsLV9s7jHRfgE/EbI/8Ej2I93AzqCDlA9AK8XIc7u5PFcBFOLkAMDS9PTM9JhLmbk04cZURi0w2qd7hf+66VugwSKgGdMv7JAkMfj5QkKnobP8+fxCgRPHXzPW9Q/37AIkv38NMC12IJgEeQP4ifR2kq0EcCfpzP1CB70OLWDwR7ww/Gmm9rbS6VnTq9ZI5UFe9OZQQ1B3ukO03qi/5bXB+aH18eWL1cXFenpRYSf8ZmdOX1ma8SmTTNeK5xpEAc0Z/zNDGBd/alkK3erypElW5WytjZwbAoWVH/+gx9HCEzk8AgdaGJcPKJKuUADupgGNFpHE9PBedUXxBdgmJuRGR2dKetggTA4nAwcEfAGX5aXttT3xW6n+Jf7h/qX+fPke2vc5J1XXf9vbZ9CuW4cEGl9l1K//Kb5TPdBO+vy0J/LYu1pJ1sQW8cwP6rJUouO8Ga2leNOlteBUq/0dOduyyXbLJ2d7B3cLc+PUM1mWHZWNLwxt0mjWi53/MJbCSF2Tx2oKv02+2UWlSLZEw+qhUnWumgHh9WnqYvDZgQeYJBOgWDfYdYqMTVw4gw51S2w2pfrxLoUYmy6jKqEzebc7sO8W6mXh6IiGWxFKEtRln4KVtmHhyrYaGRhe26Tf7YX2+mU4QwUoWw/9+WJLucWczXnuPs13MX7EYp/m7xNhgMG5WFjfnJSewnFh4FjMzKGtkvD3L7BMxntY6pm1IxxwKxsaN/CMrHMpdfwk8ZWo8xtJNKa1PbD86kznOycuOndaR3cSQbGVl5WVGgg+ZUTvO++r47jqoukWKwIyE/TxDR1uskZgbyYnOOXyNIcVnUaaGKbOlzlImGitKTA+GJMSqhzZEFRLy8hOYG+fimXmcBgxDO5pkb5bexUo6AYZ4vFUhE9yymyUKBtBiBO4uEPv+XJmZWmgiLnyPjrip65yps6NTGb8zyI4WYOucqFEzWBqfHwSSm4Bt6OItctPkBmdBu2NRm9W6u/W3znLnzlHDls3FCbwPlhfASHOb0+gZIqjMAOqPgDsVDnDCKsDIooUQHKJzEWptpNYETVo8QPFQtuacUEmOqHGXb71sLHHTli235ZDtXjl063vvdgfVcWhZXDdJcddK1cK8zn8/MawweElsPRd7jQ1zNkuKx1za4W4gLD9MxX5gEXCUcy2ffr1zJhoDJdWWY4R8LZmZjNabLmXvN8MuyroYrDbrStLeMBhRIVRaE8MBqy/fTKvF/oPrCuCZWoklBi8rNRJaC78aN5225GCoBjavCGP+/x1wv48Mz9Y3fy5FzmBH27rG6nemh5dpCEmZjIlARlC8vpKwYHXejlEltICf1KQei46i3X/yT9ObmVBjSNTAk0EG8ziT6JBl9+zrsEDU4sJ3BIIubMMXYRyaadUeuqigpmrwtHPW67uyfufhofX15ioO/kI5Kfrurv//9/8tnMUbN2EF80mtxGqqmzc0uxg1GTzfz+pnlmj286fhoaglDb9Q2xDEasEeJmx4j8hQa2B8R5BTt+CfnvDd4Ze7Opxu++XbSxorK9P3btt1xI4ngqTk5uCGDExwUqmyeT5iuEk4s+chzm3jDhuccbqbo7D8FofaIH/c5JbNGHvE4MO9il6qTE/mh3vW3C2aqew6oGcXcPbP60YUXV6//8adz8urIcvwzfqVN9M/xyLoZPeurU+4lz/C565DcsHl+bw8vkcDJ5OXfF9fyZnBzeXcfqMPwutjE6unEyOVOT+X8u5kc+jZ4xUeuXsvKJUAvPdIOnmFvGNmyb4B3KQuGZ2lLqemDsRLRBliB5lnsm8Ti6Spdv36KjRUIPj6goIKOUeUr4tHlcZtT8VqqGEycmUYwZL1Z9UYQWhgvnzK8JWJOTmmosru7rXSCuiBROt9PwvhU9rFB44o15uQkJWi17334wH3JVYwu1Gd7cvBDT8tnEsljHw4eG0DaKtfuJw3C/f5mMzPX7wbsMnxaIVr7vW6OIb8Djd+9D9+3B4xoUcdo+ZzQgLglliur21l6/uv3Y/t3DEY1f0+sUEaBIwvEHKEDV86+/PX/hvdTfI8H/fqEb8m4cgE20TZ1+lAcpS6tpR0rACZbtRdvoIL3IEWc22wH0G6lD3qJHLUPupbURVMZxp6VZQd1qGPjt791g2KxXZdkyeqdw1T/kYxszbYM3jeNchQ3ulriPeY5Y12m2mjIbFdIFzhZvIlqZh5Eg1TAA0dPwvg+C0AqvZmsQ27zdGORuyWvX6jzLUXOUVJC/L7O75APlycErPsjuSM39f5PI/wGg5sSf93y0cf9U14K0beNCvem/gM1t/pdv/YhgcZT0X4L81ycKtSDt2zC32xwwPgjgI0h12mmkkIA0tAQ1Jwkgc7cOEkrnAUwFAmOYBjpMB+zhRsOnE6hTSwakJABBvd4dkyAJO0B+dNaCAp0PMxUsN0GDzm8ZBh7Kb0ZgeDQva7gn9uYmJE/wG1wJiu2boG/zHzj7SM1ld+F2ek9AwErANP2iyaO7ErGN5YjNY6R1QiHEJnH8Ai3dIJKup1OLz7jTEVcU5wnzjBtB4hHwG5xeuSJQWGCrkP4PjpDhhxaRxqXOhWDiSVCRBwgEjUZvoUazkXNFiLYa2WMRcvWYqhCEQCDeVfL2vgCNTWeI4SXXpmR3VtR0dCpyLiujaovvj5+KtUgji1wURGEURfHfW2t7xN78uHdWCaIkK6qmG6ZlO67nB2EUJ2mWF2VVN23XD+M0L+u2H+d1P+/3c+PWnXsPHj159uLVm3cfPv3w06+1E4djcEp8pIkajrO8rrae6CANodanYjnsMOjvPs5bVgvm3PY5ngwIMHpSAsduswsJRXd1h8ht8qbuvHEFC1Le1k3CSguYSnda1Hpizut6j+v6lcpk1jV8WTubnUkq9YJmC35oc1B5WOf1E1shw7y1Lc5SufGpPvWxpMrXEQTTyiQU5XykG6GV8eQ2MeYe/RIqTCqbJZWWI6WcS0VNsEMtrQohzsDUKYUjhPVUVKcao2ymgdHHkg85oe8mtn0RidRGaw9spajmcoNUOUbYzvdjUWvijHRRJNoBOwxt3qwSgzTM8xwLA7Sk2rIvHxPQZnnqEqjSVXLtxxs3a2EV10pDp0j97k5eVRwGhBeRmUwLBt96c+0fKpKFkbVcKwAA);
  font-weight: normal;
  font-style: normal;
}
.ag-theme-alpine, .ag-theme-alpine-dark, .ag-theme-alpine-auto-dark {
  --ag-alpine-active-color: #2196f3;
  --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);
  --ag-row-hover-color: rgba(33, 150, 243, 0.1);
  --ag-column-hover-color: rgba(33, 150, 243, 0.1);
  --ag-input-focus-border-color: rgba(33, 150, 243, 0.4);
  --ag-range-selection-background-color: rgba(33, 150, 243, 0.2);
  --ag-range-selection-background-color-2: rgba(33, 150, 243, 0.36);
  --ag-range-selection-background-color-3: rgba(33, 150, 243, 0.49);
  --ag-range-selection-background-color-4: rgba(33, 150, 243, 0.59);
  --ag-background-color: #fff;
  --ag-foreground-color: #181d1f;
  --ag-border-color: #babfc7;
  --ag-secondary-border-color: #dde2eb;
  --ag-header-background-color: #f8f8f8;
  --ag-tooltip-background-color: #f8f8f8;
  --ag-odd-row-background-color: #fcfcfc;
  --ag-control-panel-background-color: #f8f8f8;
  --ag-subheader-background-color: #fff;
  --ag-invalid-color: #e02525;
  --ag-checkbox-unchecked-color: #999;
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
  --ag-checkbox-background-color: var(--ag-background-color);
  --ag-checkbox-checked-color: var(--ag-alpine-active-color);
  --ag-range-selection-border-color: var(--ag-alpine-active-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-input-border-color: var(--ag-border-color);
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-input-focus-box-shadow: 0 0 2px 0.1rem var(--ag-input-focus-border-color);
  --ag-panel-background-color: var(--ag-header-background-color);
  --ag-menu-background-color: var(--ag-header-background-color);
  --ag-disabled-foreground-color: rgba(24, 29, 31, 0.5);
  --ag-chip-background-color: rgba(24, 29, 31, 0.07);
  --ag-input-disabled-border-color: rgba(186, 191, 199, 0.3);
  --ag-input-disabled-background-color: rgba(186, 191, 199, 0.15);
  --ag-borders: solid 1px;
  --ag-border-radius: 3px;
  --ag-borders-side-button: none;
  --ag-side-button-selected-background-color: transparent;
  --ag-header-column-resize-handle-display: block;
  --ag-header-column-resize-handle-width: 2px;
  --ag-header-column-resize-handle-height: 30%;
  --ag-grid-size: 6px;
  --ag-icon-size: 16px;
  --ag-row-height: calc(var(--ag-grid-size) * 7);
  --ag-header-height: calc(var(--ag-grid-size) * 8);
  --ag-list-item-height: calc(var(--ag-grid-size) * 4);
  --ag-column-select-indent-size: var(--ag-icon-size);
  --ag-set-filter-indent-size: var(--ag-icon-size);
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);
  --ag-toggle-button-height: 18px;
  --ag-toggle-button-width: 28px;
  --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --ag-font-size: 13px;
  --ag-icon-font-family: agGridAlpine;
  --ag-selected-tab-underline-color: var(--ag-alpine-active-color);
  --ag-selected-tab-underline-width: 2px;
  --ag-selected-tab-underline-transition-speed: 0.3s;
  --ag-tab-min-width: 240px;
  --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);
  --ag-popup-shadow: var(--ag-card-shadow);
  --ag-side-bar-panel-width: 250px;
}

.ag-theme-alpine-dark {
  --ag-background-color: #181d1f;
  --ag-foreground-color: #fff;
  --ag-border-color: #68686e;
  --ag-secondary-border-color: rgba(88, 86, 82, 0.5);
  --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);
  --ag-header-background-color: #222628;
  --ag-tooltip-background-color: #222628;
  --ag-odd-row-background-color: #222628;
  --ag-control-panel-background-color: #222628;
  --ag-subheader-background-color: #000;
  --ag-input-disabled-background-color: #282c2f;
  --ag-input-focus-box-shadow:
      0 0 2px 0.5px rgba(255, 255, 255, 0.5),
      0 0 4px 3px var(--ag-input-focus-border-color);
  --ag-card-shadow: 0 1px 20px 1px black;
  --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);
  --ag-chip-background-color: rgba(255, 255, 255, 0.07);
  --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);
  --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);
  --ag-advanced-filter-join-pill-color: #7a3a37;
  --ag-advanced-filter-column-pill-color: #355f2d;
  --ag-advanced-filter-option-pill-color: #5a3168;
  --ag-advanced-filter-value-pill-color: #374c86;
  --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  .ag-theme-alpine-auto-dark {
    --ag-background-color: #181d1f;
    --ag-foreground-color: #fff;
    --ag-border-color: #68686e;
    --ag-secondary-border-color: rgba(88, 86, 82, 0.5);
    --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);
    --ag-header-background-color: #222628;
    --ag-tooltip-background-color: #222628;
    --ag-odd-row-background-color: #222628;
    --ag-control-panel-background-color: #222628;
    --ag-subheader-background-color: #000;
    --ag-input-disabled-background-color: #282c2f;
    --ag-input-focus-box-shadow:
        0 0 2px 0.5px rgba(255, 255, 255, 0.5),
        0 0 4px 3px var(--ag-input-focus-border-color);
    --ag-card-shadow: 0 1px 20px 1px black;
    --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);
    --ag-chip-background-color: rgba(255, 255, 255, 0.07);
    --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);
    --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);
    --ag-advanced-filter-join-pill-color: #7a3a37;
    --ag-advanced-filter-column-pill-color: #355f2d;
    --ag-advanced-filter-option-pill-color: #5a3168;
    --ag-advanced-filter-value-pill-color: #374c86;
    --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
    color-scheme: dark;
  }
}
.ag-theme-alpine .ag-filter-toolpanel-header,
.ag-theme-alpine .ag-filter-toolpanel-search,
.ag-theme-alpine .ag-status-bar,
.ag-theme-alpine .ag-header-row,
.ag-theme-alpine .ag-panel-title-bar-title,
.ag-theme-alpine .ag-multi-filter-group-title-bar, .ag-theme-alpine-dark .ag-filter-toolpanel-header,
.ag-theme-alpine-dark .ag-filter-toolpanel-search,
.ag-theme-alpine-dark .ag-status-bar,
.ag-theme-alpine-dark .ag-header-row,
.ag-theme-alpine-dark .ag-panel-title-bar-title,
.ag-theme-alpine-dark .ag-multi-filter-group-title-bar, .ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,
.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,
.ag-theme-alpine-auto-dark .ag-status-bar,
.ag-theme-alpine-auto-dark .ag-header-row,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,
.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar {
  font-weight: 700;
  color: var(--ag-header-foreground-color);
}
.ag-theme-alpine .ag-row, .ag-theme-alpine-dark .ag-row, .ag-theme-alpine-auto-dark .ag-row {
  font-size: calc(var(--ag-font-size) + 1px);
}
.ag-theme-alpine input[class^=ag-]:not([type]),
.ag-theme-alpine input[class^=ag-][type=text],
.ag-theme-alpine input[class^=ag-][type=number],
.ag-theme-alpine input[class^=ag-][type=tel],
.ag-theme-alpine input[class^=ag-][type=date],
.ag-theme-alpine input[class^=ag-][type=datetime-local],
.ag-theme-alpine textarea[class^=ag-], .ag-theme-alpine-dark input[class^=ag-]:not([type]),
.ag-theme-alpine-dark input[class^=ag-][type=text],
.ag-theme-alpine-dark input[class^=ag-][type=number],
.ag-theme-alpine-dark input[class^=ag-][type=tel],
.ag-theme-alpine-dark input[class^=ag-][type=date],
.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],
.ag-theme-alpine-dark textarea[class^=ag-], .ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),
.ag-theme-alpine-auto-dark input[class^=ag-][type=text],
.ag-theme-alpine-auto-dark input[class^=ag-][type=number],
.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],
.ag-theme-alpine-auto-dark input[class^=ag-][type=date],
.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],
.ag-theme-alpine-auto-dark textarea[class^=ag-] {
  min-height: calc(var(--ag-grid-size) * 4);
  border-radius: var(--ag-border-radius);
}
.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-ltr textarea[class^=ag-], .ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-ltr textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-] {
  padding-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-rtl textarea[class^=ag-], .ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-rtl textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-] {
  padding-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-tab, .ag-theme-alpine-dark .ag-tab, .ag-theme-alpine-auto-dark .ag-tab {
  padding: calc(var(--ag-grid-size) * 1.5);
  -webkit-transition: color 0.4s;
  -o-transition: color 0.4s;
  transition: color 0.4s;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
}
.ag-theme-alpine .ag-tab-selected, .ag-theme-alpine-dark .ag-tab-selected, .ag-theme-alpine-auto-dark .ag-tab-selected {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-menu, .ag-theme-alpine-dark .ag-menu, .ag-theme-alpine-auto-dark .ag-menu {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select, .ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select, .ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-menu-header, .ag-theme-alpine-dark .ag-menu-header, .ag-theme-alpine-auto-dark .ag-menu-header {
  background-color: var(--ag-control-panel-background-color);
  padding-top: 1px;
}
.ag-theme-alpine .ag-tabs-header, .ag-theme-alpine-dark .ag-tabs-header, .ag-theme-alpine-auto-dark .ag-tabs-header {
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-theme-alpine .ag-charts-settings-group-title-bar,
.ag-theme-alpine .ag-charts-data-group-title-bar,
.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-settings-group-title-bar,
.ag-theme-alpine-dark .ag-charts-data-group-title-bar,
.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-title-bar, .ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar {
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  line-height: calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px);
}
.ag-theme-alpine .ag-chart-mini-thumbnail, .ag-theme-alpine-dark .ag-chart-mini-thumbnail, .ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail {
  background-color: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-settings-nav-bar, .ag-theme-alpine-dark .ag-chart-settings-nav-bar, .ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-toolbar {
  margin-top: var(--ag-grid-size);
}
.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar {
  padding-left: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}

.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar {
  padding-right: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}

.ag-theme-alpine .ag-charts-format-sub-level-group, .ag-theme-alpine-dark .ag-charts-format-sub-level-group, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  padding-left: var(--ag-grid-size);
  margin-bottom: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar {
  padding-top: 0;
  padding-bottom: 0;
  background: none;
  font-weight: 700;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-container, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-container, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container {
  padding-bottom: 0;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child {
  margin-bottom: 0;
}
.ag-theme-alpine.ag-dnd-ghost, .ag-theme-alpine-dark.ag-dnd-ghost, .ag-theme-alpine-auto-dark.ag-dnd-ghost {
  font-size: calc(var(--ag-font-size) - 1px);
  font-weight: 700;
}
.ag-theme-alpine .ag-side-buttons, .ag-theme-alpine-dark .ag-side-buttons, .ag-theme-alpine-auto-dark .ag-side-buttons {
  width: calc(var(--ag-grid-size) * 5);
}
.ag-theme-alpine .ag-standard-button, .ag-theme-alpine-dark .ag-standard-button, .ag-theme-alpine-auto-dark .ag-standard-button {
  font-family: inherit;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border-radius: var(--ag-border-radius);
  border: 1px solid;
  border-color: var(--ag-alpine-active-color);
  color: var(--ag-alpine-active-color);
  background-color: var(--ag-background-color);
  font-weight: 600;
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-standard-button:hover, .ag-theme-alpine-dark .ag-standard-button:hover, .ag-theme-alpine-auto-dark .ag-standard-button:hover {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-row-hover-color);
}
.ag-theme-alpine .ag-standard-button:active, .ag-theme-alpine-dark .ag-standard-button:active, .ag-theme-alpine-auto-dark .ag-standard-button:active {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-alpine-active-color);
  color: var(--ag-background-color);
}
.ag-theme-alpine .ag-standard-button:disabled, .ag-theme-alpine-dark .ag-standard-button:disabled, .ag-theme-alpine-auto-dark .ag-standard-button:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-theme-alpine .ag-column-drop-vertical, .ag-theme-alpine-dark .ag-column-drop-vertical, .ag-theme-alpine-auto-dark .ag-column-drop-vertical {
  min-height: 75px;
}
.ag-theme-alpine .ag-column-drop-vertical-title-bar, .ag-theme-alpine-dark .ag-column-drop-vertical-title-bar, .ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar {
  padding: calc(var(--ag-grid-size) * 2);
  padding-bottom: 0px;
}
.ag-theme-alpine .ag-column-drop-vertical-empty-message, .ag-theme-alpine-dark .ag-column-drop-vertical-empty-message, .ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  border: dashed 1px;
  border-color: var(--ag-border-color);
  margin: calc(var(--ag-grid-size) * 2);
  padding: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-column-drop-empty-message, .ag-theme-alpine-dark .ag-column-drop-empty-message, .ag-theme-alpine-auto-dark .ag-column-drop-empty-message {
  color: var(--ag-foreground-color);
  opacity: 0.75;
}
.ag-theme-alpine .ag-pill-select .ag-column-drop, .ag-theme-alpine-dark .ag-pill-select .ag-column-drop, .ag-theme-alpine-auto-dark .ag-pill-select .ag-column-drop {
  min-height: unset;
}
.ag-theme-alpine .ag-status-bar, .ag-theme-alpine-dark .ag-status-bar, .ag-theme-alpine-auto-dark .ag-status-bar {
  font-weight: normal;
}
.ag-theme-alpine .ag-status-name-value-value, .ag-theme-alpine-dark .ag-status-name-value-value, .ag-theme-alpine-auto-dark .ag-status-name-value-value {
  font-weight: 700;
}
.ag-theme-alpine .ag-paging-number, .ag-theme-alpine .ag-paging-row-summary-panel-number, .ag-theme-alpine-dark .ag-paging-number, .ag-theme-alpine-dark .ag-paging-row-summary-panel-number, .ag-theme-alpine-auto-dark .ag-paging-number, .ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number {
  font-weight: 700;
}
.ag-theme-alpine .ag-column-drop-cell-button, .ag-theme-alpine-dark .ag-column-drop-cell-button, .ag-theme-alpine-auto-dark .ag-column-drop-cell-button {
  opacity: 0.5;
}
.ag-theme-alpine .ag-column-drop-cell-button:hover, .ag-theme-alpine-dark .ag-column-drop-cell-button:hover, .ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover {
  opacity: 0.75;
}
.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip {
  opacity: 0.35;
}
.ag-theme-alpine .ag-header-cell-menu-button:hover,
.ag-theme-alpine .ag-header-cell-filter-button:hover,
.ag-theme-alpine .ag-side-button-button:hover,
.ag-theme-alpine .ag-tab:hover,
.ag-theme-alpine .ag-panel-title-bar-button:hover,
.ag-theme-alpine .ag-header-expand-icon:hover,
.ag-theme-alpine .ag-column-group-icons:hover,
.ag-theme-alpine .ag-set-filter-group-icons:hover,
.ag-theme-alpine .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine .ag-chart-settings-prev:hover,
.ag-theme-alpine .ag-chart-settings-next:hover,
.ag-theme-alpine .ag-group-title-bar-icon:hover,
.ag-theme-alpine .ag-column-select-header-icon:hover,
.ag-theme-alpine .ag-floating-filter-button-button:hover,
.ag-theme-alpine .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine .ag-chart-menu-icon:hover,
.ag-theme-alpine .ag-chart-menu-close:hover, .ag-theme-alpine-dark .ag-header-cell-menu-button:hover,
.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,
.ag-theme-alpine-dark .ag-side-button-button:hover,
.ag-theme-alpine-dark .ag-tab:hover,
.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,
.ag-theme-alpine-dark .ag-header-expand-icon:hover,
.ag-theme-alpine-dark .ag-column-group-icons:hover,
.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,
.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine-dark .ag-chart-settings-prev:hover,
.ag-theme-alpine-dark .ag-chart-settings-next:hover,
.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,
.ag-theme-alpine-dark .ag-column-select-header-icon:hover,
.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,
.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine-dark .ag-chart-menu-icon:hover,
.ag-theme-alpine-dark .ag-chart-menu-close:hover, .ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,
.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,
.ag-theme-alpine-auto-dark .ag-side-button-button:hover,
.ag-theme-alpine-auto-dark .ag-tab:hover,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,
.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,
.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,
.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,
.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,
.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,
.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,
.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,
.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,
.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover,
.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon, .ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon, .ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon {
  color: inherit;
}
.ag-theme-alpine .ag-filter-active .ag-icon-filter, .ag-theme-alpine-dark .ag-filter-active .ag-icon-filter, .ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close, .ag-theme-alpine-dark .ag-chart-menu-close, .ag-theme-alpine-auto-dark .ag-chart-menu-close {
  background: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-menu-close:hover .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close:hover .ag-icon, .ag-theme-alpine-auto-dark .ag-chart-menu-close:hover .ag-icon {
  border-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close .ag-icon, .ag-theme-alpine-auto-dark .ag-chart-menu-close .ag-icon {
  background: var(--ag-header-background-color);
  border: 1px solid var(--ag-border-color);
  border-right: none;
}
.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover, .ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover, .ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {
  opacity: 0.35;
}
.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button {
  margin-left: calc(var(--ag-grid-size) * 2);
  margin-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button {
  margin-right: calc(var(--ag-grid-size) * 2);
  margin-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container {
  padding-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container {
  padding-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter {
  border: none;
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  margin-left: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {
  border-right: dashed 1px;
  border-right-color: var(--ag-border-color);
  margin-right: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-alpine .ag-set-filter-list, .ag-theme-alpine-dark .ag-set-filter-list, .ag-theme-alpine-auto-dark .ag-set-filter-list {
  padding-top: calc(var(--ag-grid-size) * 0.5);
  padding-bottom: calc(var(--ag-grid-size) * 0.5);
}
.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-print .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container, .ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container {
  min-height: 150px;
}
.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height, .ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height, .ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 60px;
}
.ag-theme-alpine .ag-date-time-list-page-entry-is-current, .ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current, .ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current {
  background-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-advanced-filter-builder-button, .ag-theme-alpine-dark .ag-advanced-filter-builder-button, .ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button {
  padding: var(--ag-grid-size);
  font-weight: 600;
}
.PresetDateRangePicker_panel {
  padding: 0 22px 11px
}
.PresetDateRangePicker_button {
  position: relative;
  height: 100%;
  text-align: center;
  background: 0 0;
  border: 2px solid #00a699;
  color: #00a699;
  padding: 4px 12px;
  margin-right: 8px;
  font: inherit;
  font-weight: 700;
  line-height: normal;
  overflow: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer
}
.PresetDateRangePicker_button:active {
  outline: 0
}
.PresetDateRangePicker_button__selected {
  color: #fff;
  background: #00a699
}
.SingleDatePickerInput {
  display: inline-block;
  background-color: #fff
}
.SingleDatePickerInput__withBorder {
  border: 1px solid #dbdbdb
}
.SingleDatePickerInput__rtl {
  direction: rtl
}
.SingleDatePickerInput__disabled {
  background-color: #f2f2f2
}
.SingleDatePickerInput__block {
  display: block
}
.SingleDatePickerInput__showClearDate {
  padding-right: 30px
}
.SingleDatePickerInput_clearDate {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  padding: 10px;
  margin: 0 10px 0 5px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}
.SingleDatePickerInput_clearDate__default:focus,
.SingleDatePickerInput_clearDate__default:hover {
  background: #dbdbdb;
  border-radius: 50%
}
.SingleDatePickerInput_clearDate__small {
  padding: 6px
}
.SingleDatePickerInput_clearDate__hide {
  visibility: hidden
}
.SingleDatePickerInput_clearDate_svg {
  fill: #82888a;
  height: 12px;
  width: 15px;
  vertical-align: middle
}
.SingleDatePickerInput_clearDate_svg__small {
  height: 9px
}
.SingleDatePickerInput_calendarIcon {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  padding: 10px;
  margin: 0 5px 0 10px
}
.SingleDatePickerInput_calendarIcon_svg {
  fill: #82888a;
  height: 15px;
  width: 14px;
  vertical-align: middle
}
.SingleDatePicker {
  position: relative;
  display: inline-block
}
.SingleDatePicker__block {
  display: block
}
.SingleDatePicker_picker {
  z-index: 1;
  background-color: #fff;
  position: absolute
}
.SingleDatePicker_picker__rtl {
  direction: rtl
}
.SingleDatePicker_picker__directionLeft {
  left: 0
}
.SingleDatePicker_picker__directionRight {
  right: 0
}
.SingleDatePicker_picker__portal {
  background-color: rgba(0,0,0,.3);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%
}
.SingleDatePicker_picker__fullScreenPortal {
  background-color: #fff
}
.SingleDatePicker_closeButton {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  padding: 15px;
  z-index: 2
}
.SingleDatePicker_closeButton:focus,
.SingleDatePicker_closeButton:hover {
  color: darken(#cacccd,10%);
  text-decoration: none
}
.SingleDatePicker_closeButton_svg {
  height: 15px;
  width: 15px;
  fill: #cacccd
}
.DayPickerKeyboardShortcuts_buttonReset {
  background: 0 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  cursor: pointer;
  font-size: 14px
}
.DayPickerKeyboardShortcuts_buttonReset:active {
  outline: 0
}
.DayPickerKeyboardShortcuts_show {
  width: 22px;
  position: absolute;
  z-index: 2
}
.DayPickerKeyboardShortcuts_show__bottomRight {
  border-top: 26px solid transparent;
  border-right: 33px solid #00a699;
  bottom: 0;
  right: 0
}
.DayPickerKeyboardShortcuts_show__bottomRight:hover {
  border-right: 33px solid #008489
}
.DayPickerKeyboardShortcuts_show__topRight {
  border-bottom: 26px solid transparent;
  border-right: 33px solid #00a699;
  top: 0;
  right: 0
}
.DayPickerKeyboardShortcuts_show__topRight:hover {
  border-right: 33px solid #008489
}
.DayPickerKeyboardShortcuts_show__topLeft {
  border-bottom: 26px solid transparent;
  border-left: 33px solid #00a699;
  top: 0;
  left: 0
}
.DayPickerKeyboardShortcuts_show__topLeft:hover {
  border-left: 33px solid #008489
}
.DayPickerKeyboardShortcuts_showSpan {
  color: #fff;
  position: absolute
}
.DayPickerKeyboardShortcuts_showSpan__bottomRight {
  bottom: 0;
  right: -28px
}
.DayPickerKeyboardShortcuts_showSpan__topRight {
  top: 1px;
  right: -28px
}
.DayPickerKeyboardShortcuts_showSpan__topLeft {
  top: 1px;
  left: -28px
}
.DayPickerKeyboardShortcuts_panel {
  overflow: auto;
  background: #fff;
  border: 1px solid #dbdbdb;
  border-radius: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 2;
  padding: 22px;
  margin: 33px
}
.DayPickerKeyboardShortcuts_title {
  font-size: 16px;
  font-weight: 700;
  margin: 0
}
.DayPickerKeyboardShortcuts_list {
  list-style: none;
  padding: 0;
  font-size: 14px
}
.DayPickerKeyboardShortcuts_close {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2
}
.DayPickerKeyboardShortcuts_close:active {
  outline: 0
}
.DayPickerKeyboardShortcuts_closeSvg {
  height: 15px;
  width: 15px;
  fill: #cacccd
}
.DayPickerKeyboardShortcuts_closeSvg:focus,
.DayPickerKeyboardShortcuts_closeSvg:hover {
  fill: #82888a
}
.CalendarDay {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-size: 14px;
  text-align: center
}
.CalendarDay:active {
  outline: 0
}
.CalendarDay__defaultCursor {
  cursor: default
}
.CalendarDay__default {
  border: 1px solid #e4e7e7;
  color: #484848;
  background: #fff
}
.CalendarDay__default:hover {
  background: #e4e7e7;
  border: 1px double #e4e7e7;
  color: inherit
}
.CalendarDay__hovered_offset {
  background: #f4f5f5;
  border: 1px double #e4e7e7;
  color: inherit
}
.CalendarDay__outside {
  border: 0;
  background: #fff;
  color: #484848
}
.CalendarDay__blocked_minimum_nights {
  background: #fff;
  border: 1px solid #eceeee;
  color: #cacccd
}
.CalendarDay__blocked_minimum_nights:active,
.CalendarDay__blocked_minimum_nights:hover {
  background: #fff;
  color: #cacccd
}
.CalendarDay__highlighted_calendar {
  background: #ffe8bc;
  color: #484848
}
.CalendarDay__highlighted_calendar:active,
.CalendarDay__highlighted_calendar:hover {
  background: #ffce71;
  color: #484848
}
.CalendarDay__selected_span {
  background: #66e2da;
  border: 1px solid #33dacd;
  color: #fff
}
.CalendarDay__selected_span:active,
.CalendarDay__selected_span:hover {
  background: #33dacd;
  border: 1px solid #33dacd;
  color: #fff
}
.CalendarDay__last_in_range {
  border-right: #00a699
}
.CalendarDay__selected,
.CalendarDay__selected:active,
.CalendarDay__selected:hover {
  background: #00a699;
  border: 1px solid #00a699;
  color: #fff
}
.CalendarDay__hovered_span,
.CalendarDay__hovered_span:hover {
  background: #b2f1ec;
  border: 1px solid #80e8e0;
  color: #007a87
}
.CalendarDay__hovered_span:active {
  background: #80e8e0;
  border: 1px solid #80e8e0;
  color: #007a87
}
.CalendarDay__blocked_calendar,
.CalendarDay__blocked_calendar:active,
.CalendarDay__blocked_calendar:hover {
  background: #cacccd;
  border: 1px solid #cacccd;
  color: #82888a
}
.CalendarDay__blocked_out_of_range,
.CalendarDay__blocked_out_of_range:active,
.CalendarDay__blocked_out_of_range:hover {
  background: #fff;
  border: 1px solid #e4e7e7;
  color: #cacccd
}
.CalendarMonth {
  background: #fff;
  text-align: center;
  padding: 0 13px;
  vertical-align: top;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
.CalendarMonth_table {
  border-collapse: collapse;
  border-spacing: 0
}
.CalendarMonth_verticalSpacing {
  border-collapse: separate
}
.CalendarMonth_caption {
  color: #484848;
  font-size: 18px;
  text-align: center;
  padding-top: 22px;
  padding-bottom: 37px;
  caption-side: initial
}
.CalendarMonth_caption__verticalScrollable {
  padding-top: 12px;
  padding-bottom: 7px
}
.CalendarMonthGrid {
  background: #fff;
  text-align: left;
  z-index: 0
}
.CalendarMonthGrid__animating {
  z-index: 1
}
.CalendarMonthGrid__horizontal {
  position: absolute;
  left: 9px
}
.CalendarMonthGrid__vertical {
  margin: 0 auto
}
.CalendarMonthGrid__vertical_scrollable {
  margin: 0 auto;
  overflow-y: scroll
}
.CalendarMonthGrid_month__horizontal {
  display: inline-block;
  vertical-align: top;
  min-height: 100%
}
.CalendarMonthGrid_month__hideForAnimation {
  position: absolute;
  z-index: -1;
  opacity: 0;
  pointer-events: none
}
.CalendarMonthGrid_month__hidden {
  visibility: hidden
}
.DayPickerNavigation_container {
  position: relative;
  z-index: 2
}
.DayPickerNavigation_container__vertical {
  background: #fff;
  -webkit-box-shadow: 0 0 5px 2px rgba(0,0,0,.1);
          box-shadow: 0 0 5px 2px rgba(0,0,0,.1);
  position: absolute;
  bottom: 0;
  left: 0;
  height: 52px;
  width: 100%
}
.DayPickerNavigation_container__verticalScrollable {
  position: relative
}
.DayPickerNavigation_button {
  cursor: pointer;
  line-height: .78;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
.DayPickerNavigation_button__default {
  border: 1px solid #e4e7e7;
  background-color: #fff;
  color: #757575
}
.DayPickerNavigation_button__default:focus,
.DayPickerNavigation_button__default:hover {
  border: 1px solid #c4c4c4
}
.DayPickerNavigation_button__default:active {
  background: #f2f2f2
}
.DayPickerNavigation_button__horizontal {
  border-radius: 3px;
  padding: 6px 9px;
  top: 18px;
  position: absolute
}
.DayPickerNavigation_leftButton__horizontal {
  left: 22px
}
.DayPickerNavigation_rightButton__horizontal {
  right: 22px
}
.DayPickerNavigation_button__vertical {
  display: inline-block;
  position: relative;
  height: 100%;
  width: 50%
}
.DayPickerNavigation_button__vertical__default {
  padding: 5px
}
.DayPickerNavigation_nextButton__vertical__default {
  border-left: 0
}
.DayPickerNavigation_nextButton__verticalScrollable {
  width: 100%
}
.DayPickerNavigation_svg__horizontal {
  height: 19px;
  width: 19px;
  fill: #82888a
}
.DayPickerNavigation_svg__vertical {
  height: 42px;
  width: 42px;
  fill: #484848
}
.DayPicker {
  background: #fff;
  position: relative;
  text-align: left
}
.DayPicker__horizontal {
  background: #fff
}
.DayPicker__verticalScrollable {
  height: 100%
}
.DayPicker__hidden {
  visibility: hidden
}
.DayPicker__withBorder {
  -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);
          box-shadow: 0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);
  border-radius: 3px
}
.DayPicker_portal__horizontal {
  -webkit-box-shadow: none;
          box-shadow: none;
  position: absolute;
  left: 50%;
  top: 50%
}
.DayPicker_portal__vertical {
  position: initial
}
.DayPicker_focusRegion {
  outline: 0
}
.DayPicker_calendarInfo__horizontal,
.DayPicker_wrapper__horizontal {
  display: inline-block;
  vertical-align: top
}
.DayPicker_weekHeaders {
  position: relative
}
.DayPicker_weekHeaders__horizontal {
  margin-left: 9px
}
.DayPicker_weekHeader {
  color: #757575;
  position: absolute;
  top: 62px;
  z-index: 2;
  padding: 0 13px;
  text-align: left
}
.DayPicker_weekHeader__vertical {
  left: 50%
}
.DayPicker_weekHeader__verticalScrollable {
  top: 0;
  display: table-row;
  border-bottom: 1px solid #dbdbdb;
  background: #fff;
  margin-left: 0;
  left: 0;
  width: 100%;
  text-align: center
}
.DayPicker_weekHeader_ul {
  list-style: none;
  margin: 1px 0;
  padding-left: 0;
  padding-right: 0;
  font-size: 14px
}
.DayPicker_weekHeader_li {
  display: inline-block;
  text-align: center
}
.DayPicker_transitionContainer {
  position: relative;
  overflow: hidden;
  border-radius: 3px
}
.DayPicker_transitionContainer__horizontal {
  -webkit-transition: height .2s ease-in-out;
  -o-transition: height .2s ease-in-out;
  transition: height .2s ease-in-out
}
.DayPicker_transitionContainer__vertical {
  width: 100%
}
.DayPicker_transitionContainer__verticalScrollable {
  padding-top: 20px;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  overflow-y: scroll
}
.DateInput {
  margin: 0;
  padding: 0;
  background: #fff;
  position: relative;
  display: inline-block;
  width: 130px;
  vertical-align: middle
}
.DateInput__small {
  width: 97px
}
.DateInput__block {
  width: 100%
}
.DateInput__disabled {
  background: #f2f2f2;
  color: #dbdbdb
}
.DateInput_input {
  font-weight: 200;
  font-size: 19px;
  line-height: 24px;
  color: #484848;
  background-color: #fff;
  width: 100%;
  padding: 11px 11px 9px;
  border: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid transparent;
  border-left: 0;
  border-radius: 0
}
.DateInput_input__small {
  font-size: 15px;
  line-height: 18px;
  letter-spacing: .2px;
  padding: 7px 7px 5px
}
.DateInput_input__regular {
  font-weight: auto
}
.DateInput_input__readOnly {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
.DateInput_input__focused {
  outline: 0;
  background: #fff;
  border: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid #008489;
  border-left: 0
}
.DateInput_input__disabled {
  background: #f2f2f2;
  font-style: italic
}
.DateInput_screenReaderMessage {
  border: 0;
  clip: rect(0,0,0,0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}
.DateInput_fang {
  position: absolute;
  width: 20px;
  height: 10px;
  left: 22px;
  z-index: 2
}
.DateInput_fangShape {
  fill: #fff
}
.DateInput_fangStroke {
  stroke: #dbdbdb;
  fill: transparent
}
.DateRangePickerInput {
  background-color: #fff;
  display: inline-block
}
.DateRangePickerInput__disabled {
  background: #f2f2f2
}
.DateRangePickerInput__withBorder {
  border: 1px solid #dbdbdb;
  border-radius: 2px
}
.DateRangePickerInput__rtl {
  direction: rtl
}
.DateRangePickerInput__block {
  display: block
}
.DateRangePickerInput__showClearDates {
  padding-right: 30px
}
.DateRangePickerInput_arrow {
  display: inline-block;
  vertical-align: middle;
  color: #484848
}
.DateRangePickerInput_arrow_svg {
  vertical-align: middle;
  fill: #484848;
  height: 24px;
  width: 24px
}
.DateRangePickerInput_clearDates {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  padding: 10px;
  margin: 0 10px 0 5px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}
.DateRangePickerInput_clearDates__small {
  padding: 6px
}
.DateRangePickerInput_clearDates_default:focus,
.DateRangePickerInput_clearDates_default:hover {
  background: #dbdbdb;
  border-radius: 50%
}
.DateRangePickerInput_clearDates__hide {
  visibility: hidden
}
.DateRangePickerInput_clearDates_svg {
  fill: #82888a;
  height: 12px;
  width: 15px;
  vertical-align: middle
}
.DateRangePickerInput_clearDates_svg__small {
  height: 9px
}
.DateRangePickerInput_calendarIcon {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  padding: 10px;
  margin: 0 5px 0 10px
}
.DateRangePickerInput_calendarIcon_svg {
  fill: #82888a;
  height: 15px;
  width: 14px;
  vertical-align: middle
}
.DateRangePicker {
  position: relative;
  display: inline-block
}
.DateRangePicker__block {
  display: block
}
.DateRangePicker_picker {
  z-index: 1;
  background-color: #fff;
  position: absolute
}
.DateRangePicker_picker__rtl {
  direction: rtl
}
.DateRangePicker_picker__directionLeft {
  left: 0
}
.DateRangePicker_picker__directionRight {
  right: 0
}
.DateRangePicker_picker__portal {
  background-color: rgba(0,0,0,.3);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%
}
.DateRangePicker_picker__fullScreenPortal {
  background-color: #fff
}
.DateRangePicker_closeButton {
  background: 0 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  padding: 15px;
  z-index: 2
}
.DateRangePicker_closeButton:focus,
.DateRangePicker_closeButton:hover {
  color: darken(#cacccd,10%);
  text-decoration: none
}
.DateRangePicker_closeButton_svg {
  height: 15px;
  width: 15px;
  fill: #cacccd
}.ps{-ms-touch-action:auto;touch-action:auto;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps{overflow:auto !important}}.ps.ps--active-x>.ps__scrollbar-x-rail,.ps.ps--active-y>.ps__scrollbar-y-rail{display:block;background-color:transparent}.ps.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail{background-color:#eee;opacity:.9}.ps.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail>.ps__scrollbar-x{background-color:#999;height:11px}.ps.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail{background-color:#eee;opacity:.9}.ps.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail>.ps__scrollbar-y{background-color:#999;width:11px}.ps>.ps__scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:0px;height:15px}.ps>.ps__scrollbar-x-rail>.ps__scrollbar-x{position:absolute;background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;bottom:2px;height:6px}.ps>.ps__scrollbar-x-rail:hover>.ps__scrollbar-x,.ps>.ps__scrollbar-x-rail:active>.ps__scrollbar-x{height:11px}.ps>.ps__scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:0;width:15px}.ps>.ps__scrollbar-y-rail>.ps__scrollbar-y{position:absolute;background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;right:2px;width:6px}.ps>.ps__scrollbar-y-rail:hover>.ps__scrollbar-y,.ps>.ps__scrollbar-y-rail:active>.ps__scrollbar-y{width:11px}.ps:hover.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail{background-color:#eee;opacity:.9}.ps:hover.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail>.ps__scrollbar-x{background-color:#999;height:11px}.ps:hover.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail{background-color:#eee;opacity:.9}.ps:hover.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail>.ps__scrollbar-y{background-color:#999;width:11px}.ps:hover>.ps__scrollbar-x-rail,.ps:hover>.ps__scrollbar-y-rail{opacity:.6}.ps:hover>.ps__scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps:hover>.ps__scrollbar-x-rail:hover>.ps__scrollbar-x{background-color:#999}.ps:hover>.ps__scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps:hover>.ps__scrollbar-y-rail:hover>.ps__scrollbar-y{background-color:#999}.scrollbar-container{position:relative;height:100%}.build-version-alert {
  display: flex !important;
  padding: 0px;
  justify-content: center; }
  .build-version-alert .modal-dialog {
    margin: 0px;
    align-self: center; }

.cache-clear-container ul#sidebar-trigger {
  display: none !important; }

.cache-clear-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }
.visitor-page__maintenance .main {
  margin-top: 5px; }

.visitor-page__maintenance .breakline {
  border-bottom: 2px solid black;
  width: 175px;
  display: block;
  text-align: left;
  margin-left: 0;
  margin-top: 20px;
  margin-bottom: 25px; }
.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  width: 278px;
  padding: 4px;
  margin-top: 1px;
  top: 100px;
  left: 20px;
  /* Calendars */ }

.daterangepicker:before, .daterangepicker:after {
  position: absolute;
  display: inline-block;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: ''; }

.daterangepicker:before {
  top: -7px;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #ccc; }

.daterangepicker:after {
  top: -6px;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent; }

.daterangepicker.opensleft:before {
  right: 9px; }

.daterangepicker.opensleft:after {
  right: 10px; }

.daterangepicker.openscenter:before {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto; }

.daterangepicker.openscenter:after {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto; }

.daterangepicker.opensright:before {
  left: 9px; }

.daterangepicker.opensright:after {
  left: 10px; }

.daterangepicker.dropup {
  margin-top: -5px; }

.daterangepicker.dropup:before {
  top: initial;
  bottom: -7px;
  border-bottom: initial;
  border-top: 7px solid #ccc; }

.daterangepicker.dropup:after {
  top: initial;
  bottom: -6px;
  border-bottom: initial;
  border-top: 6px solid #fff; }

.daterangepicker.dropdown-menu {
  max-width: none;
  z-index: 3001; }

.daterangepicker.single .ranges, .daterangepicker.single .calendar {
  float: none; }

.daterangepicker.show-calendar .calendar {
  display: block; }

.daterangepicker .calendar {
  display: none;
  max-width: 270px;
  margin: 4px; }

.daterangepicker .calendar.single .calendar-table {
  border: none; }

.daterangepicker .calendar th, .daterangepicker .calendar td {
  white-space: nowrap;
  text-align: center;
  min-width: 32px; }

.daterangepicker .calendar-table {
  border: 1px solid #fff;
  padding: 4px;
  border-radius: 4px;
  background-color: #fff; }

.daterangepicker table {
  width: 100%;
  margin: 0; }

.daterangepicker td, .daterangepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer; }

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
  background-color: #eee;
  border-color: transparent;
  color: inherit; }

.daterangepicker td.week, .daterangepicker th.week {
  font-size: 80%;
  color: #ccc; }

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
  background-color: #fff;
  border-color: transparent;
  color: #999; }

.daterangepicker td.in-range {
  background-color: #ebf4f8;
  border-color: transparent;
  color: #000;
  border-radius: 0; }

.daterangepicker td.start-date {
  border-radius: 4px 0 0 4px; }

.daterangepicker td.end-date {
  border-radius: 0 4px 4px 0; }

.daterangepicker td.start-date.end-date {
  border-radius: 4px; }

.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #357ebd;
  border-color: transparent;
  color: #fff; }

.daterangepicker th.month {
  width: auto; }

.daterangepicker td.disabled, .daterangepicker option.disabled {
  color: #999;
  cursor: not-allowed;
  text-decoration: line-through; }

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
  font-size: 12px;
  padding: 1px;
  height: auto;
  margin: 0;
  cursor: default; }

.daterangepicker select.monthselect {
  margin-right: 2%;
  width: 56%; }

.daterangepicker select.yearselect {
  width: 40%; }

.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
  width: 50px;
  margin-bottom: 0; }

.daterangepicker .input-mini {
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #555;
  height: 30px;
  line-height: 30px;
  display: block;
  vertical-align: middle;
  margin: 0 0 5px 0;
  padding: 0 6px 0 28px;
  width: 100%; }

.daterangepicker .input-mini.active {
  border: 1px solid #08c;
  border-radius: 4px; }

.daterangepicker .daterangepicker_input {
  position: relative; }

.daterangepicker .daterangepicker_input i {
  position: absolute;
  left: 8px;
  top: 8px; }

.daterangepicker.rtl .input-mini {
  padding-right: 28px;
  padding-left: 6px; }

.daterangepicker.rtl .daterangepicker_input i {
  left: auto;
  right: 8px; }

.daterangepicker .calendar-time {
  text-align: center;
  margin: 5px auto;
  line-height: 30px;
  position: relative;
  padding-left: 28px; }

.daterangepicker .calendar-time select.disabled {
  color: #ccc;
  cursor: not-allowed; }

.ranges {
  font-size: 11px;
  float: none;
  margin: 4px;
  text-align: left; }

.ranges ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%; }

.ranges li {
  font-size: 13px;
  background-color: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 4px;
  color: #08c;
  padding: 3px 12px;
  margin-bottom: 8px;
  cursor: pointer; }

.ranges li:hover {
  background-color: #08c;
  border: 1px solid #08c;
  color: #fff; }

.ranges li.active {
  background-color: #08c;
  border: 1px solid #08c;
  color: #fff; }

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto; }
  .daterangepicker .ranges ul {
    width: 160px; }
  .daterangepicker.single .ranges ul {
    width: 100%; }
  .daterangepicker.single .calendar.left {
    clear: none; }
  .daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .calendar {
    float: left; }
  .daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .calendar {
    float: right; }
  .daterangepicker.ltr {
    direction: ltr;
    text-align: left; }
  .daterangepicker.ltr .calendar.left {
    clear: left;
    margin-right: 0; }
  .daterangepicker.ltr .calendar.left .calendar-table {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .daterangepicker.ltr .calendar.right {
    margin-left: 0; }
  .daterangepicker.ltr .calendar.right .calendar-table {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .daterangepicker.ltr .left .daterangepicker_input {
    padding-right: 12px; }
  .daterangepicker.ltr .calendar.left .calendar-table {
    padding-right: 12px; }
  .daterangepicker.ltr .ranges, .daterangepicker.ltr .calendar {
    float: left; }
  .daterangepicker.rtl {
    direction: rtl;
    text-align: right; }
  .daterangepicker.rtl .calendar.left {
    clear: right;
    margin-left: 0; }
  .daterangepicker.rtl .calendar.left .calendar-table {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .daterangepicker.rtl .calendar.right {
    margin-right: 0; }
  .daterangepicker.rtl .calendar.right .calendar-table {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .daterangepicker.rtl .left .daterangepicker_input {
    padding-left: 12px; }
  .daterangepicker.rtl .calendar.left .calendar-table {
    padding-left: 12px; }
  .daterangepicker.rtl .ranges, .daterangepicker.rtl .calendar {
    text-align: right;
    float: right; } }

@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto; }
  .daterangepicker.ltr .ranges {
    float: left; }
  .daterangepicker.rtl .ranges {
    float: right; }
  .daterangepicker .calendar.left {
    clear: none !important; } }
.audit .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.audit .ui2-top-headers-left {
  flex: 1; }

.audit .audit-date-picker {
  margin-top: 17px; }
  .audit .audit-date-picker .ui2-date-range-picker--dropdown {
    margin-top: 0px !important; }

.audit .selectors-container {
  margin-right: 8vh; }
.ssrs-report iframe {
  width: 100%;
  height: 85vh; }
.user-settings {
  padding: 35px; }
  .user-settings #file-input {
    display: none; }
  .user-settings .setting__user {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px 0; }
    .user-settings .setting__user form {
      width: 100%; }
    .user-settings .setting__user .col-right {
      padding-top: 30px; }
      .user-settings .setting__user .col-right .btn {
        margin-top: 30px;
        float: right; }
    .user-settings .setting__user label {
      display: inline-block; }
    .user-settings .setting__user .image-wrapper {
      width: max-content; }
  .user-settings .setting__avatar {
    cursor: pointer;
    display: none; }
  @media screen and (max-width: 1151px) {
    .user-settings .setting__sm-screen-protect {
      margin-top: 25px; } }
  .user-settings #tooltip {
    position: fixed; }
.download {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  .download__link {
    color: #011424; }
    .download__link:hover {
      color: #011424;
      text-decoration: underline; }
  .download .loader {
    min-height: 100px;
    width: unset;
    height: unset; }
.ui2-analysis {
  display: flex;
  flex-wrap: wrap;
  background-color: #ffffff;
  justify-content: center; }
  .ui2-analysis__chart-wrapper {
    padding: 15px;
    flex: 1;
    flex-basis: 400px; }

.analysis-daterange-picker {
  margin-top: 17px; }
  .analysis-daterange-picker input {
    height: 39px; }
  .analysis-daterange-picker .icon-calendar {
    height: 39px; }

.analysis {
  padding: 0 25px; }
  .analysis__table {
    background-color: #FFFFFF;
    padding: 35px; }
    .analysis__table h3 {
      margin-top: 0; }
    .analysis__table .simple-table {
      margin-bottom: 0; }

.claims-capture-chart {
  width: 700px;
  margin: 0 auto;
  display: flex;
  justify-content: center; }

.claims-status-chart, .claims-type-chart {
  width: 50%; }

.claims-by-bin-chart, .claims-by-pharmacy-chart {
  width: 100%;
  flex-basis: 100%; }
.okta-login-container .center-align {
  text-align: center; }
.okta-login-container .center-align {
  text-align: center; }
.form-group.search-input-group {
  width: 35%;
  min-width: 300px;
  max-width: 550px;
  margin-top: 15px;
  position: relative; }
  .form-group.search-input-group.active-text input {
    padding-right: 50px; }
  .form-group.search-input-group.active-text .icomoon-search {
    color: #35668F; }
  .form-group.search-input-group .icomoon-search {
    position: absolute;
    font-size: 22px;
    top: 17px;
    left: 20px;
    color: #cfd2d5; }
  .form-group.search-input-group input {
    padding-left: 57px;
    height: 55px; }
    .form-group.search-input-group input::placeholder {
      font-size: 18px;
      color: #cfd2d5; }
    .form-group.search-input-group input::-ms-clear {
      display: none; }
    .form-group.search-input-group input.form-check-input {
      height: auto !important; }
  .form-group.search-input-group .btn-clear {
    right: 15px;
    padding: 0;
    outline: 0;
    color: #DE1927;
    height: 20px;
    margin: 0;
    border: 0;
    top: calc(50% - 11px); }
  .form-group.search-input-group button:focus, .form-group.search-input-group button:active {
    outline: none; }
  .form-group.search-input-group button .btn-link {
    position: absolute;
    top: 8px;
    right: 0; }
  .form-group.search-input-group .glyphicon-search {
    position: absolute; }

button.btn-clear.search-with-radio--clear.btn.btn-link {
  top: 18px; }

.search-with-radio__container {
  margin-top: 5px; }

.search-with-radio--label {
  display: inline-block;
  margin-right: 10px;
  line-height: 24px; }

.search-with-radio--option {
  display: inline-block;
  margin-right: 10px; }
.input-number-wrapper {
  position: relative; }
  .input-number-wrapper input[type=number]::-webkit-inner-spin-button,
  .input-number-wrapper input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .input-number-wrapper input.form-control {
    padding: 0 30px 0 12px; }
  .input-number-wrapper .icomoon-plus {
    position: absolute;
    top: 5px;
    right: 13px;
    cursor: pointer;
    font-size: 12px;
    height: 20px;
    line-height: 20px; }
    .input-number-wrapper .icomoon-plus.disabled {
      cursor: default; }
      .input-number-wrapper .icomoon-plus.disabled:before {
        color: #ddd; }
  .input-number-wrapper .icomoon-minus {
    position: absolute;
    top: auto;
    bottom: 0px;
    right: 13px;
    cursor: pointer;
    font-size: 2px;
    height: 20px;
    line-height: 20px; }
    .input-number-wrapper .icomoon-minus.disabled {
      cursor: default; }
      .input-number-wrapper .icomoon-minus.disabled:before {
        color: #ddd; }
.date-range-picker--dropdown {
  position: relative; }
  .date-range-picker--dropdown__body {
    padding: 0;
    z-index: 998;
    position: absolute;
    top: 44px;
    left: 0;
    background: white;
    border-radius: 3px;
    border: none;
    height: 0;
    overflow: hidden;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }
    .date-range-picker--dropdown__body .button-container.two-btn-in-row {
      padding-left: 10px;
      padding-right: 10px;
      display: flex;
      justify-content: space-between;
      align-items: stretch; }
      .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn {
        width: calc(50% - 5px);
        margin: 0;
        padding: 0; }
        .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger {
          background: #f0ad4e;
          color: white;
          border-color: #f0ad4e; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined {
            color: #f0ad4e;
            background: none; }
            .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover {
              color: #011424; }
              .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover:hover, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover:focus, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover.active {
                color: white; }
            .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse {
              color: white;
              border-color: white; }
              .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active {
                color: #f0ad4e;
                background: white; }
                .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active.btn-retainBg {
                  background: #f0ad4e;
                  color: white;
                  border-color: #f0ad4e; }
                  .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg:active, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg:active, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active.btn-retainBg:active {
                    background: #d18212;
                    border-color: #985f0d; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:focus, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.focus, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:hover, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active {
            color: white;
            background: #f4c37d;
            border-color: #f4c37d; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:active, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"], .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active:hover, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active:focus, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"]:hover, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"]:focus,
          .open > .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.dropdown-toggle {
            color: white;
            background: #d18212;
            border-color: #985f0d;
            background-image: none; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.dropdown-toggle + ul li.active a {
            color: white;
            background: #f0ad4e; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.disabled, .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[disabled],
          fieldset[disabled] .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger {
            pointer-events: none; }
          .date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger .badge {
            color: #f0ad4e;
            background-color: #f0ad4e; }
    .date-range-picker--dropdown__body .button-container .btn {
      background: #35668F;
      color: white;
      border-color: #35668F; }
      .date-range-picker--dropdown__body .button-container .btn.btn-outlined {
        color: #35668F;
        background: none; }
        .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover {
          color: #011424; }
          .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover:hover, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover:focus, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover.active {
            color: white; }
        .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse {
          color: white;
          border-color: white; }
          .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active {
            color: #35668F;
            background: white; }
            .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover.btn-retainBg, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus.btn-retainBg, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active.btn-retainBg {
              background: #35668F;
              color: white;
              border-color: #35668F; }
              .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover.btn-retainBg:active, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus.btn-retainBg:active, .date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active.btn-retainBg:active {
                background: #1c364c;
                border-color: #0c161f; }
      .date-range-picker--dropdown__body .button-container .btn:focus, .date-range-picker--dropdown__body .button-container .btn.focus, .date-range-picker--dropdown__body .button-container .btn:hover, .date-range-picker--dropdown__body .button-container .btn.active {
        color: white;
        background: #4381b4;
        border-color: #4381b4; }
      .date-range-picker--dropdown__body .button-container .btn:active, .date-range-picker--dropdown__body .button-container .btn.active, .date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"], .date-range-picker--dropdown__body .button-container .btn.active:hover, .date-range-picker--dropdown__body .button-container .btn.active:focus, .date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"]:hover, .date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"]:focus,
      .open > .date-range-picker--dropdown__body .button-container .btn.dropdown-toggle {
        color: white;
        background: #1c364c;
        border-color: #0c161f;
        background-image: none; }
      .date-range-picker--dropdown__body .button-container .btn.dropdown-toggle + ul li.active a {
        color: white;
        background: #35668F; }
      .date-range-picker--dropdown__body .button-container .btn.disabled, .date-range-picker--dropdown__body .button-container .btn[disabled],
      fieldset[disabled] .date-range-picker--dropdown__body .button-container .btn {
        pointer-events: none; }
      .date-range-picker--dropdown__body .button-container .btn .badge {
        color: #35668F;
        background-color: #35668F; }
  .date-range-picker--dropdown__header {
    display: flex; }
    .date-range-picker--dropdown__header input {
      color: #353e4a;
      border: 1px solid #cdcdcd;
      border-radius: 8px;
      padding: 0 12px;
      height: 45px;
      max-width: 100%;
      width: auto;
      min-width: 200px; }
      .date-range-picker--dropdown__header input:read-only {
        background-color: white; }
  .date-range-picker--dropdown.is-open .background-for-close {
    z-index: 997;
    background-color: rgba(255, 255, 255, 0.01);
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0; }
  .date-range-picker--dropdown.is-open .date-range-picker--dropdown__header input {
    z-index: 999;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none; }
  .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body {
    padding: 10px;
    border: 1px solid #cdcdcd;
    height: auto;
    overflow: visible; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body.with-ongoing .rdrDateDisplay {
      padding: 9px; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body.with-ongoing .rdrDateDisplayItem + .rdrDateDisplayItem {
      margin-left: 10px; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body.with-ongoing .ongoing-checkboxes {
      position: absolute;
      top: 75px;
      width: 100%; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body.with-ongoing .rdrMonthAndYearWrapper {
      margin-top: 25px; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body.with-ongoing.ongoing-selected .rdrMonthAndYearWrapper {
      margin-top: 9px; }
    .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body .ongoing-checkboxes {
      display: flex;
      justify-content: space-between; }
      .date-range-picker--dropdown.is-open .date-range-picker--dropdown__body .ongoing-checkboxes .checkbox-label {
        margin: 0;
        flex: 1 1; }

.rdrDay {
  width: 44.56px !important; }
.react-select__control {
  background-color: #fff;
  border-color: #d9d9d9 #ccc #b3b3b3;
  border-radius: 4px;
  border: 1px solid #ccc;
  color: #333;
  cursor: default;
  display: table;
  border-spacing: 0;
  border-collapse: separate;
  height: 36px;
  outline: none;
  overflow: hidden;
  position: relative;
  width: 100%; }

.userManageMentForm.react-select__menu div, .userManageMentForm.react-select__menu span, .userManageMentForm.react-select__menu p, .userManageMentForm.react-select__menu label, .userManageMentForm.react-select__menu h1, .userManageMentForm.react-select__menu h2, .userManageMentForm.react-select__menu h3, .userManageMentForm.react-select__menu h4, .userManageMentForm.react-select__menu h5 {
  text-transform: none !important; }
.error {
  font-weight: 400;
  color: #de1927;
  font-size: 12px;
  height: 14px; }

.cover-select {
  position: relative; }

.cover-select:before {
  content: "";
  position: absolute;
  background: rgba(56, 56, 56, 0.1);
  z-index: 100;
  width: 100%;
  height: 100%;
  cursor: not-allowed;
  border-radius: 8px;
  border: 1px solid #cdcdcd; }

.date-range-picker--dropdown__header input:read-only[disabled] {
  background-color: #eeeeee;
  cursor: not-allowed; }

span.error + span.error {
  display: block; }

.radio-group {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 15px; }
  .radio-group.horizontal {
    flex-direction: row;
    margin-bottom: 0; }
    .radio-group.horizontal label.radio-inline.radio-label {
      flex: 0 0 50%;
      margin: 0;
      margin-bottom: 15px; }
  .radio-group.vertical {
    flex-direction: column; }
    .radio-group.vertical label.radio-inline.radio-label {
      margin-bottom: 10px;
      margin-left: 0; }

.radio-inline.radio-label.radio-disabled {
  cursor: not-allowed !important;
  color: #c1c1c1; }

.location-select {
  position: relative; }
  .location-select__open-button {
    border: none;
    background: none;
    color: #41658C;
    padding: 10px 0; }
    .location-select__open-button--label {
      padding: 5px 0;
      border-bottom: 1px solid; }
  .location-select__bg-close {
    z-index: 997;
    background-color: rgba(255, 255, 255, 0.01);
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0; }
  .location-select__body {
    text-align: left;
    padding: 0;
    z-index: 998;
    position: absolute;
    top: 44px;
    left: -20px;
    background: white;
    border-radius: 3px;
    border: none;
    height: 0;
    width: 355px;
    overflow: hidden;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }
    .location-select__body--is-open {
      padding: 10px;
      border: 1px solid #cdcdcd;
      height: auto;
      overflow: visible; }
  .location-select__search.search-input-group {
    margin: 0;
    padding: 0;
    border-radius: 0;
    width: 100%; }
    .location-select__search.search-input-group input {
      height: 40px !important; }
    .location-select__search.search-input-group .icomoon-search {
      top: 9px; }
  .location-select__list {
    max-height: 400px;
    margin-top: 15px; }
    .location-select__list--with-padding {
      padding: 0 5px; }
    .location-select__list .checkbox-label {
      margin-left: 10px; }
    .location-select__list--section-label, .location-select__list--checkbox-label label {
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden; }
  .location-select__spinner.rxs-spinner {
    margin: 40px auto; }
  .location-select__no-locations {
    padding: 25px 0;
    text-align: center; }
  .location-select__toggle {
    display: flex;
    margin: 10px 0;
    align-items: center; }
    .location-select__toggle__label {
      font-size: 14px;
      margin-right: 15px;
      color: #d3d3d3;
      font-weight: bold; }
    .location-select__toggle__button--active {
      border-bottom: 1px solid red; }
    .location-select__toggle button.location-select__toggle__button--active.btn.btn-default {
      border-bottom: 1px solid #c1d0dc; }
    .location-select__toggle .btn-default, .location-select__toggle .btn-default:active, .location-select__toggle .btn-default:focus {
      border: none;
      background: none;
      padding: 0;
      height: auto;
      font-size: 14px;
      color: #41658C;
      display: inline;
      border-radius: 0;
      border-bottom: 1px solid transparent; }
    .location-select__toggle .btn-default:hover {
      color: #35668F;
      background: none;
      border-color: #c1d0dc; }
    .location-select__toggle .btn + .btn {
      margin-left: 10px; }

.radio-box {
  display: block;
  margin-left: 10px;
  padding-bottom: 5px; }
.live-updates {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-grow: 2 1 3; }

@media (min-width: 1152px) {
  .live-updates-modal .modal-lg {
    width: 1150 px; } }

.live-updates-nav .name:after {
  content: "\e829";
  margin-left: 10px;
  color: #35668f;
  font-size: 20px;
  font-family: "fontello"; }

.LiveUpdates__add-btn {
  margin-left: 92%;
  margin-top: 20px;
  margin-bottom: 20px !important; }

.live-updates-add-form {
  margin-top: 20px; }

.liveUpdate-add-btns {
  margin-top: 20px; }

.live-update-modal-btns {
  margin-top: 40px; }

.live-update-modal.modal-dialog {
  width: 70%; }
  .live-update-modal.modal-dialog .contract-order {
    padding: 0; }
  .live-update-modal.modal-dialog .modal-content {
    height: auto; }
  .live-update-modal.modal-dialog .container-fluid {
    padding: 0; }

.live-update-description {
  height: 250px !important; }
.rxs-spinner {
  margin: 10px auto 0 auto;
  width: 40px;
  height: 20px;
  text-align: center; }
  .rxs-spinner--with-margin {
    margin: 100px auto; }
  .rxs-spinner--white > div {
    background-color: #ffffff; }
  .rxs-spinner > div {
    width: 12px;
    height: 12px;
    background-color: #35668F;
    border-radius: 100%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.7s infinite ease-in-out both;
    animation: sk-bouncedelay 1.7s infinite ease-in-out both; }
  .rxs-spinner-csv-export > div {
    width: 8px;
    height: 8px;
    background: white; }
  .rxs-spinner.inline-spinner {
    display: inline;
    margin: 0; }
  .rxs-spinner--white > div {
    width: 8px;
    height: 8px;
    background: white; }

.rxs-spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.rxs-spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.rxs-spinner.button-spinner {
  margin: 0 auto; }

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }
.horizontal-overflow {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden; }

.simple-table {
  margin-bottom: 4rem; }
  .simple-table--header {
    width: 100%;
    display: flex;
    flex: 1 auto;
    border-bottom: 1px solid grey; }
    .simple-table--header .header--element {
      flex-basis: 100%;
      padding: 7px 5px 7px 14px;
      font-weight: bold;
      font-size: 14px;
      text-align: left;
      display: flex;
      align-items: flex-end; }
      .simple-table--header .header--element-expander {
        flex-basis: 3%; }
  .simple-table--body > .overlay {
    position: relative; }
  .simple-table--body--row {
    width: 100%;
    display: flex;
    flex: 1 auto;
    border-top: 1px solid #eee; }
    .simple-table--body--row:nth-child(2n - 1) {
      background: #f3f6f7; }
    .simple-table--body--row:last-child {
      border-bottom: 1px solid #eee; }
    .simple-table--body--row--element {
      flex-basis: 100%;
      padding: 7px 5px 7px 14px;
      font-size: 16px;
      text-align: left;
      border-left: 1px #eee solid;
      word-break: break-word; }
      .simple-table--body--row--element:last-child {
        border-right: 1px #eee solid; }
      .simple-table--body--row--element.no-data {
        display: flex;
        align-items: center;
        justify-content: center; }
      .simple-table--body--row--element.load-more {
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border: 1px solid #e6e9ea;
        background: #f3f6f7; }
        .simple-table--body--row--element.load-more:hover {
          background: #eaedee; }
      .simple-table--body--row--element--button {
        margin-top: 12px; }
    .simple-table--body--row__link {
      color: #353e4a; }
      .simple-table--body--row__link:hover {
        color: #35668F; }
    .simple-table--body--row--icon-expander {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      flex-basis: 3%;
      padding-top: 5px; }
      .simple-table--body--row--icon-expander .toggle-button {
        display: block;
        transform-origin: center;
        transform: rotate(180deg); }
        .simple-table--body--row--icon-expander .toggle-button.open {
          transform: rotate(270deg); }
  .simple-table--body--row-expander {
    padding: 15px;
    display: none; }
    .simple-table--body--row-expander.row-is-expanded {
      display: block;
      border-top: 1px solid #eee;
      border-left: 1px solid #eee;
      border-right: 1px solid #eee; }
      .simple-table--body--row-expander.row-is-expanded .simple-table {
        margin-top: 25px;
        margin-bottom: 25px; }
    .simple-table--body--row-expander .simple-table--header .header--element {
      border-top: 1px grey solid;
      border-left: 1px grey solid; }
      .simple-table--body--row-expander .simple-table--header .header--element:last-child {
        border-right: 1px grey solid; }
  .simple-table--body--row-expander-wrapper:nth-child(2n - 1) > .simple-table--body--row {
    background: #f3f6f7; }
  .simple-table--body--row-expander-wrapper > .simple-table--body--row {
    background: transparent;
    border-left: 1px solid #eee; }

.simple-table--with-outer-border {
  border: 1px solid #eee; }
  .simple-table--with-outer-border .header--element:not(:first-child) {
    border-left: 1px solid #eee; }
  .simple-table--with-outer-border .simple-table--body--row--element:first-child {
    border-left: none; }
  .simple-table--with-outer-border .simple-table--body--row:last-child {
    border-bottom: none; }

.top-bad-products .bad-wac-products-table thead tr th {
  font-weight: bold;
  font-size: 14px; }
.financial-container .inputs-wrapper {
  display: flex; }
  .financial-container .inputs-wrapper .form-group {
    margin-right: 20px;
    min-width: 100px; }
.alertsList__container {
  margin: 15px 0 50px 0; }
  .alertsList__container .title {
    font-size: 20px; }
  .alertsList__container .alertsList__block {
    display: flex;
    margin-bottom: 15px; }
    .alertsList__container .alertsList__block .alertsList__icon {
      width: 10%;
      text-align: center; }
      .alertsList__container .alertsList__block .alertsList__icon span {
        position: relative;
        display: block;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        font-size: 18px; }
        .alertsList__container .alertsList__block .alertsList__icon span:before {
          position: absolute;
          width: 34px;
          height: 34px;
          top: 0;
          left: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          margin: 0 0 0 0.5px; }
      .alertsList__container .alertsList__block .alertsList__icon .alertsList__icon--warning {
        background: #3fddff;
        color: white;
        font-weight: bold;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
      .alertsList__container .alertsList__block .alertsList__icon .alertsList__icon--danger {
        background: #f10f11;
        color: white;
        font-weight: bold;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
        .alertsList__container .alertsList__block .alertsList__icon .alertsList__icon--danger:before {
          top: -1px; }
      .alertsList__container .alertsList__block .alertsList__icon .alertsList__icon--line {
        width: 2px;
        height: 100%;
        background-color: #d6eefe;
        margin-left: 16px; }
    .alertsList__container .alertsList__block .alertsList__info {
      width: 90%;
      color: #011424;
      font-family: Helvetica; }
      .alertsList__container .alertsList__block .alertsList__info .alertsList__title {
        font-size: 19px;
        margin-bottom: 0; }
      .alertsList__container .alertsList__block .alertsList__info .alertsList__date {
        color: #888888;
        font-size: 12px;
        margin: 0 0 10px 0; }
      .alertsList__container .alertsList__block .alertsList__info .alertsList__msg {
        font-size: 14px;
        margin-bottom: 5px; }
        .alertsList__container .alertsList__block .alertsList__info .alertsList__msg p, .alertsList__container .alertsList__block .alertsList__info .alertsList__msg span {
          display: inline;
          padding: 0;
          margin: 0; }
        .alertsList__container .alertsList__block .alertsList__info .alertsList__msg span {
          padding: 0 5px;
          cursor: pointer; }
  .alertsList__container .alertsList__load {
    color: #5cb85c;
    border: none;
    background-color: transparent;
    cursor: pointer;
    margin-top: 30px; }
.last-batch-update .rxs-spinner {
  margin-top: 0; }

.header-date-wrapper {
  position: relative;
  padding-left: 60px;
  overflow: hidden;
  margin-left: -10px;
  margin-top: 10px;
  min-height: 42px; }
  @media (min-width: 990px) {
    .header-date-wrapper {
      float: right;
      margin-top: 0; } }
  .header-date-wrapper .header-date-icon {
    position: absolute;
    top: 6px;
    left: 5px; }
    .header-date-wrapper .header-date-icon:before {
      font-size: 35px; }
  .header-date-wrapper .header-date-label {
    display: block;
    font-size: 14px;
    line-height: 16px;
    margin-top: 5px;
    color: #55606e; }
    @media (min-width: 990px) {
      .header-date-wrapper .header-date-label {
        font-size: 14px;
        line-height: 16px;
        margin-top: 3px; } }
  .header-date-wrapper .header-date {
    display: block;
    font-size: 20px;
    line-height: 22px; }
    @media (min-width: 990px) {
      .header-date-wrapper .header-date {
        font-size: 24px;
        line-height: 31px; } }
  .header-date-wrapper .no-data-processed {
    font-size: 18px; }
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center; }
  .overlay h2 {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 15px; }
  .overlay.lighter-background {
    background: rgba(255, 255, 255, 0.6); }
  .overlay.overlay-success h2, .overlay.overlay-success p {
    color: #5cb85c; }
  .overlay.overlay-fail h2, .overlay.overlay-fail p {
    color: #ea1f19; }
  .overlay.overlay-update h2 {
    color: #333; }
  .overlay.overlay-fixed {
    position: fixed !important; }
.alerts__title {
  margin-bottom: 25px;
  color: #011424;
  font-size: 24px;
  font-family: Helvetica;
  font-weight: 700; }

.alerts__loadBtn {
  text-transform: capitalize !important;
  font-family: Helvetica !important;
  font-weight: 400 !important; }

.email-address-buttons {
  display: flex;
  justify-content: flex-end; }

.alerts-container__header {
  margin-bottom: 20px; }

.alerts-container .alerts-wrapper-row {
  display: flex;
  flex-wrap: wrap; }
.export__button--dropdown.btn {
  width: 80px;
  margin-left: 0 !important;
  padding-left: 0; }
  .export__button--dropdown.btn .caret {
    margin-left: 4px; }

.export__button--action.btn {
  width: 120px;
  margin-right: 0;
  padding-right: 20px;
  padding-left: 20px; }

.export__container + .export__container {
  margin-left: 15px; }

.export__container--long .export__button--action {
  width: 235px; }

.export__container--long .dropdown-menu {
  right: 0;
  left: auto; }

.export__container.btn-group {
  display: inline-flex; }

.export__container .dropdown-menu {
  min-width: auto;
  width: 170px; }

.export__container--single .export__button--action.btn {
  width: 27rem; }
  .export__container--single .export__button--action.btn span + span {
    margin-left: 5px; }
.release-notes .chart-white--blocks {
  padding: 55px; }

.release-notes .release-notes-search {
  outline: 0;
  width: 100%;
  height: 45px;
  border-radius: 8px;
  border: 1px solid #cdcdcd;
  padding: 0 20px; }

.release-notes .chart-white--blocks {
  margin-bottom: 50px;
  background-color: #fff;
  padding: 2.7%; }

.release-notes .chart-white--block {
  background-color: #fff;
  padding: 2.7%; }
  @media (min-width: 600px) and (max-width: 1200px) {
    .release-notes .chart-white--block {
      margin-top: -500px; } }
  @media (min-width: 1201px) and (max-width: 1800px) {
    .release-notes .chart-white--block {
      margin-top: -480px; } }
  @media (min-width: 1800px) and (max-width: 2000px) {
    .release-notes .chart-white--block {
      margin-top: -450px; } }
  @media (min-width: 2000px) and (max-width: 2600px) {
    .release-notes .chart-white--block {
      margin-top: -430px; } }
  @media (min-width: 2600px) and (max-width: 3000px) {
    .release-notes .chart-white--block {
      margin-top: -400px; } }
  @media (min-width: 3000px) and (max-width: 6500px) {
    .release-notes .chart-white--block {
      margin-top: -400px; } }

.release-notes .release-notes-export {
  max-width: 25%; }

.release-notes .padding-left {
  padding-left: 0px; }

.release-note .chart-white--blocks {
  padding: 15px; }

.release-note .release-notes-search {
  outline: 0;
  width: 100%;
  height: 45px;
  border-radius: 8px;
  border: 1px solid #cdcdcd;
  padding: 0 20px; }

.release-note .chart-white--blocks {
  margin-top: -64%;
  background-color: #fff;
  padding: 6.5%;
  padding-bottom: 8%; }

.release-note .release-notes-export {
  max-width: 25%; }

.release-note .padding-left {
  position: absolute;
  padding-left: 0px; }
.alerts__title {
  margin-bottom: 25px;
  color: #011424;
  font-size: 24px;
  font-family: Helvetica;
  font-weight: 700; }

.alerts__loadBtn {
  text-transform: capitalize !important;
  font-family: Helvetica !important;
  font-weight: 400 !important; }

.email-address-buttons {
  display: flex;
  justify-content: flex-end; }
.modal-msg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center; }
  .modal-msg .modal-buttons {
    display: flex;
    justify-content: space-between; }
  .modal-msg.modal-fixed {
    position: fixed; }
  .modal-msg h2 {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 15px;
    max-width: 500px; }
  .modal-msg .text {
    max-width: 500px; }
  .modal-msg button {
    margin: 20px; }

.modal-loader {
  position: relative;
  width: 335px;
  height: 159px;
  top: -25px; }
.select-search .input-group .form-control {
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important; }

.select-search .dropdownClass {
  max-height: 200px; }

.select-search.form-group.search-input-group .icomoon-search {
  z-index: 5; }

.select-search.form-group.search-input-group input {
  height: 55px; }

.select-search.form-group.search-input-group .btn-clear {
  right: 100px;
  z-index: 5; }

.select-search .dropdown .btn {
  height: 55px;
  padding: 2px 10px; }

.select-search .dropdown .btn.small {
  height: 45px; }

.select-search__button--dropdown span.select-search--title {
  width: 55px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left; }

.select-search__button--dropdown span.caret {
  margin-left: 5px; }
button.info-button {
  background-image: url(/static/media/glyphicons-info.469eff3e.svg);
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none; }
.modal-dispensation-log .modal-footer .btn-primary {
  background: #428bca;
  color: white;
  border-color: #428bca; }

.modal-dispensation-log__error-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center; }

.modal-dispensation-log__error {
  text-align: center;
  font-size: 24px;
  color: #d3d3d3;
  margin: 15px; }
.ui2-accumulation-detail-inner {
  padding: 0 0 20px;
  width: 100%; }
  .ui2-accumulation-detail-inner table {
    margin: 0; }
  .ui2-accumulation-detail-inner .ui2-dispensation-filters {
    padding: 15px 20px;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    border-bottom: 1px solid #99A0AB;
    margin-top: -15px; }
    @media (min-width: 1366px) {
      .ui2-accumulation-detail-inner .ui2-dispensation-filters {
        flex-wrap: wrap; } }
    @media (min-width: 640px) {
      .ui2-accumulation-detail-inner .ui2-dispensation-filters {
        justify-content: flex-start; } }
    @media (max-width: 640px) {
      .ui2-accumulation-detail-inner .ui2-dispensation-filters {
        flex-direction: column;
        align-items: flex-end; } }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters .form-group {
      margin-bottom: 0; }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters .filter {
      margin-right: 1.5%;
      margin-top: 15px; }
      .ui2-accumulation-detail-inner .ui2-dispensation-filters .filter .dispensation {
        display: flex; }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input {
      position: relative; }
      @media (max-width: 1151px) {
        .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input {
          width: 50%; } }
      @media (max-width: 640px) {
        .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input {
          width: 100%;
          margin-bottom: 15px; } }
      .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input input {
        outline: 0;
        width: 100%;
        height: 45px;
        border-radius: 8px;
        border: 1px solid #CDCDCD;
        padding: 0 20px; }
        @media (min-width: 1152px) {
          .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input input {
            width: 290px; } }
        .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input input.search-active {
          padding-right: 80px; }
      .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input button {
        position: absolute;
        top: 8px;
        right: 8px;
        padding: 0;
        outline: 0; }
        .ui2-accumulation-detail-inner .ui2-dispensation-filters .clear-input button.disabled {
          display: none; }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters__actions {
      margin-top: 15px;
      margin-left: auto;
      display: flex; }
      .ui2-accumulation-detail-inner .ui2-dispensation-filters__actions .btn + .btn-group {
        margin-left: 1.5%; }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters .date-range-input .date-info-wrapper {
      display: flex; }
      .ui2-accumulation-detail-inner .ui2-dispensation-filters .date-range-input .date-info-wrapper .icomoon-support.date-range-info {
        margin-left: 5px;
        font-weight: bold;
        cursor: pointer;
        align-self: center; }
    .ui2-accumulation-detail-inner .ui2-dispensation-filters .date-range-warining {
      margin-top: 4px;
      flex: 0 0 100%; }
  .ui2-accumulation-detail-inner .table-wrapper {
    padding: 20px 20px 0 20px; }

.table-container {
  max-height: calc(100vh - 500px) !important;
  position: relative;
  overflow: hidden; }
  .table-container .disp-load-more {
    cursor: pointer; }
  .table-container .loading-more {
    padding-bottom: 20px; }
  .table-container .dispensations-table > thead > tr > th {
    position: sticky;
    top: 0;
    background: white;
    padding-left: 0;
    padding-right: 0;
    border-top-width: 0 !important; }
    .table-container .dispensations-table > thead > tr > th > div {
      width: 100%;
      height: 30px;
      padding-left: 5px;
      padding-right: 5px;
      position: relative;
      text-align: center; }
      .table-container .dispensations-table > thead > tr > th > div:before {
        content: "";
        position: absolute;
        display: block;
        top: -6px;
        left: 0;
        width: 100%;
        height: 2px;
        background: #cdcdcd; }
      .table-container .dispensations-table > thead > tr > th > div:after {
        content: "";
        position: absolute;
        display: block;
        bottom: -6px;
        left: 0;
        width: 100%;
        height: 2px;
        background: #cdcdcd; }
    .table-container .dispensations-table > thead > tr > th.asc {
      border-width: 1px !important; }
      .table-container .dispensations-table > thead > tr > th.asc > div:before {
        background: #35668F; }
    .table-container .dispensations-table > thead > tr > th.desc {
      border-width: 1px !important; }
      .table-container .dispensations-table > thead > tr > th.desc > div:after {
        background: #35668F; }
  .table-container .dispensations-table > tbody > tr.waste-disp-row {
    background-color: #e03f291f; }
  .table-container .dispensations-table > tbody > tr > td {
    padding-left: 5px;
    text-align: center; }

.table-wrapper th {
  border-top: 2px solid #ddd !important;
  cursor: pointer; }

.table-wrapper th.desc {
  border-bottom: 2px solid #35668F !important; }

.table-wrapper th.asc {
  border-top: 2px solid #35668F !important; }

.loadMore-btn {
  cursor: pointer; }

.loading-more {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 0; }
  .loading-more .rxs-spinner {
    margin-top: 0; }

.dispensation-counter {
  display: inline-block;
  line-height: 45px;
  vertical-align: top;
  margin-left: 0 !important;
  margin-right: 15px; }

@media (min-width: 1190px) and (max-width: 1259px) {
  .csv-grid-fix {
    margin-right: 100px; } }
.card-box {
  display: flex;
  flex-direction: row; }
  .card-box__body {
    flex: 1 0;
    width: 100%; }
  .card-box__color-badge {
    flex: 0 0 12px; }
    .card-box__color-badge.yellow {
      background-color: #FCF467; }
    .card-box__color-badge.green {
      background-color: #9ECF62; }
    .card-box__color-badge.red {
      background-color: #DF5536; }
    .card-box__color-badge.grey {
      background-color: #ACACAC; }
  .card-box__tab {
    display: flex;
    align-items: center;
    position: relative; }
    .card-box__tab .badge {
      margin-left: 5px;
      background: #1d303f;
      color: white;
      z-index: 2; }
    .card-box__tab.info-text-tab {
      cursor: auto;
      text-decoration: none; }
      .card-box__tab.info-text-tab:hover, .card-box__tab.info-text-tab:focus, .card-box__tab.info-text-tab:active {
        background: transparent;
        color: #35668F;
        outline: none;
        font-weight: normal; }
      .card-box__tab.info-text-tab.active {
        background: transparent;
        color: #35668F;
        font-weight: normal; }
  .card-box .title {
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid lightgrey;
    font-size: 20px; }
  .card-box--no-hover:hover {
    border-color: #ececec !important; }
.ui2-react-table {
  width: 100%;
  height: 100%;
  display: inline-block;
  border-spacing: 0;
  margin: 0;
  background-color: #FFFFFF; }
  .ui2-react-table .align-center {
    text-align: center; }
  .ui2-react-table__row {
    border-bottom: 1px solid #ACACAC; }
    .ui2-react-table__row:nth-child(even) {
      background-color: #F4F6F7; }
  .ui2-react-table__thead {
    overflow: hidden; }
    .ui2-react-table__thead--row {
      border-bottom: solid 2px #ACACAC; }
  .ui2-react-table__tbody {
    height: calc(100% - 42px); }
  .ui2-react-table__th, .ui2-react-table__td {
    margin: 0;
    padding: 0.5rem;
    position: relative;
    padding: 5px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    white-space: nowrap; }
    .ui2-react-table__th .resizer, .ui2-react-table__td .resizer {
      display: inline-block;
      background: #fafafa;
      width: 2px;
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      transform: translateX(50%);
      z-index: 1;
      touch-action: none; }
      .ui2-react-table__th .resizer.isResizing, .ui2-react-table__td .resizer.isResizing {
        background: #d3d3d3; }
  .ui2-react-table__th {
    padding: 10px 7px 10px 14px;
    font-weight: bold;
    font-size: 14px;
    border-top: 1px solid #eeeeee; }
    .ui2-react-table__th--cell {
      display: flex;
      justify-content: space-between; }
      .ui2-react-table__th--cell .sort-btn {
        background: none;
        padding: 0;
        outline: none;
        border: none; }
      .ui2-react-table__th--cell .icon-sort {
        color: #d3d3d3; }
      .ui2-react-table__th--cell .icon-sort,
      .ui2-react-table__th--cell .icon-sort-up,
      .ui2-react-table__th--cell .icon-sort-down {
        cursor: pointer; }
  .ui2-react-table__td {
    padding: 7px 5px 7px 14px;
    font-weight: normal; }
  .ui2-react-table__wrapper {
    display: block; }
  .ui2-react-table__no-data {
    display: flex;
    justify-content: center;
    padding: 50px;
    margin-top: 25px;
    font-size: 36px;
    text-align: center;
    color: #929292; }

.ui2-button-link {
  background: none;
  border: none;
  color: #2EB398;
  outline: none; }

.patientType_erx-form__footer {
  position: absolute;
  margin-top: 70px;
  display: inline-block;
  right: 50px; }

.feeFormulary_erx-form__footer {
  margin-top: 50px;
  position: relative;
  right: 20px; }

.eligibility-table .ui2-react-table__thead--row,
.eligibility-table .ui2-react-table__row {
  width: 1430px !important; }

.eligibility-table .ui2-react-table__th, .eligibility-table .ui2-react-table__td {
  width: 150px !important; }

.eligibility-table .ui2-react-table__th:first-child, .eligibility-table .ui2-react-table__td:first-child {
  width: 80px !important; }

.eligibility-table .ui2-react-table__th:first-child,
.eligibility-table .ui2-react-table__td:first-child {
  width: 80px !important; }

.patient-type .ui2-react-table__thead--row,
.patient-type .ui2-react-table__row {
  width: 1940px !important; }

.missing-locatopn-table .ui2-react-table__thead--row,
.missing-locatopn-table .ui2-react-table__row {
  width: 1940px !important; }

.fee-formulary-group .ui2-react-table__thead--row,
.fee-formulary-group .ui2-react-table__row {
  width: 1740px !important; }

.dir-table .ui2-react-table__thead--row,
.dir-table .ui2-react-table__row {
  width: 1240px !important; }

.fee-formulary-group .ui2-react-table__thead--row,
.fee-formulary-group .ui2-react-table__row {
  width: 1740px !important; }

.revenue-table .ui2-react-table__thead--row,
.revenue-table .ui2-react-table__row {
  width: 1280px !important; }

.days-supply-table .ui2-react-table__thead--row,
.days-supply-table .ui2-react-table__row {
  width: 1390px !important; }

.trueup-table .ui2-react-table__thead--row,
.trueup-table .ui2-react-table__row {
  width: 1390px !important; }

@media screen and (min-width: 1900px) {
  .ui2-react-table__thead--row, .ui2-react-table__row {
    width: 100% !important; }
  .ui2-react-table__th, .ui2-react-table__td {
    flex: 7 1 0 !important;
    /*  &:nth-child(2) , &:nth-child(3), &:nth-child(7) , &:nth-child(8){
      flex: 7 1 0 !important;
      } */ }
    .ui2-react-table__th:first-child, .ui2-react-table__td:first-child {
      flex: 2 1 0 !important; }
    .ui2-react-table__th:last-child, .ui2-react-table__td:last-child {
      flex: 2 1 0 !important; } }

@media (min-width: 1300px) and (max-width: 1500px) {
  .eligibility-table
.ui2-react-table__thead--row, .eligibility-table
.ui2-react-table__row {
    width: 2100px !important; }
  .eligibility-table
.ui2-react-table__th, .eligibility-table
.ui2-react-table__td {
    flex: 7 1 0 !important; }
    .eligibility-table
.ui2-react-table__th:first-child, .eligibility-table
.ui2-react-table__td:first-child {
      flex: 3 1 0 !important; }
    .eligibility-table
.ui2-react-table__th:last-child, .eligibility-table
.ui2-react-table__td:last-child {
      flex: 1 1 0 !important; }
    .eligibility-table
.ui2-react-table__th:nth-child(2), .eligibility-table
.ui2-react-table__th:nth-child(3), .eligibility-table
.ui2-react-table__th:nth-child(7), .eligibility-table
.ui2-react-table__th:nth-child(8), .eligibility-table
.ui2-react-table__td:nth-child(2), .eligibility-table
.ui2-react-table__td:nth-child(3), .eligibility-table
.ui2-react-table__td:nth-child(7), .eligibility-table
.ui2-react-table__td:nth-child(8) {
      flex: 7 1 0 !important; } }

.fee-formulary-group .ui2-react-table__thead--row, .fee-formulary-group .ui2-react-table__row {
  width: 80% !important; }

.fee-formulary-group .ui2-react-table__th, .fee-formulary-group .ui2-react-table__td {
  flex: 7 1 0 !important; }

@media (min-width: 1100px) and (max-width: 1900px) {
  .eligibility-table
.ui2-react-table__thead--row, .eligibility-table
.ui2-react-table__row {
    width: 2000px !important; }
  .eligibility-table
.ui2-react-table__th, .eligibility-table
.ui2-react-table__td {
    flex: 7 1 0 !important;
    /*  &:nth-child(2) , &:nth-child(3), &:nth-child(7) , &:nth-child(8){
        flex: 7 1 0 !important;
        } */ }
    .eligibility-table
.ui2-react-table__th:first-child, .eligibility-table
.ui2-react-table__td:first-child {
      flex: 3 1 0 !important; }
    .eligibility-table
.ui2-react-table__th:last-child, .eligibility-table
.ui2-react-table__td:last-child {
      flex: 6 1 0 !important; } }

@media (min-width: 1901px) and (max-width: 2900px) {
  .eligibility-table
.ui2-react-table__thead--row, .eligibility-table
.ui2-react-table__row {
    width: 100% !important; }
  .eligibility-table
.ui2-react-table__th, .eligibility-table
.ui2-react-table__td {
    flex: 7 1 0 !important;
    /*  &:nth-child(2) , &:nth-child(3), &:nth-child(7) , &:nth-child(8){
        flex: 7 1 0 !important;
        } */ }
    .eligibility-table
.ui2-react-table__th:first-child, .eligibility-table
.ui2-react-table__td:first-child {
      flex: 3 1 0 !important; }
    .eligibility-table
.ui2-react-table__th:last-child, .eligibility-table
.ui2-react-table__td:last-child {
      flex: 5 1 0 !important; } }

@media screen and (min-width: 1240px) {
  .trueup-table
.ui2-react-table__thead--row, .trueup-table
.ui2-react-table__row {
    width: 100% !important; }
  .trueup-table
.ui2-react-table__th, .trueup-table
.ui2-react-table__td {
    flex: 7 1 0 !important; }
    .trueup-table
.ui2-react-table__th:last-child, .trueup-table
.ui2-react-table__td:last-child {
      flex: 2 1 0 !important; } }

@media screen and (min-width: 1240px) {
  .dir-table
.ui2-react-table__thead--row, .dir-table
.ui2-react-table__row {
    width: 100% !important; }
  .dir-table
.ui2-react-table__th, .dir-table
.ui2-react-table__td {
    flex: 7 1 0 !important; }
    .dir-table
.ui2-react-table__th:first-child, .dir-table
.ui2-react-table__td:first-child {
      flex: 3 1 0 !important; }
    .dir-table
.ui2-react-table__th:last-child, .dir-table
.ui2-react-table__td:last-child {
      flex: 2 1 0 !important; } }

@media screen and (min-width: 1280px) {
  .revenue-table
.ui2-react-table__thead--row, .revenue-table
.ui2-react-table__row {
    width: 100% !important; }
  .revenue-table
.ui2-react-table__th, .revenue-table
.ui2-react-table__td {
    flex: 7 1 0 !important; }
    .revenue-table
.ui2-react-table__th:first-child, .revenue-table
.ui2-react-table__td:first-child {
      flex: 2 1 0 !important; }
    .revenue-table
.ui2-react-table__th:last-child, .revenue-table
.ui2-react-table__td:last-child {
      flex: 3 1 0 !important; } }

@media (min-width: 1951px) and (max-width: 2750px) {
  .missing-locatopn-table
.ui2-react-table__thead--row, .missing-locatopn-table
.ui2-react-table__row {
    width: 2500px !important; }
  .missing-locatopn-table
.ui2-react-table:first-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table:last-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table__th, .missing-locatopn-table
.ui2-react-table__td {
    flex: 8 1 0 !important; } }

@media (min-width: 1751px) and (max-width: 1950px) {
  .missing-locatopn-table
.ui2-react-table__thead--row, .missing-locatopn-table
.ui2-react-table__row {
    width: 2400px !important; }
  .missing-locatopn-table
.ui2-react-table:first-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table:last-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table__th, .missing-locatopn-table
.ui2-react-table__td {
    flex: 6 1 0 !important; } }

@media (min-width: 1600px) and (max-width: 1750px) {
  .missing-locatopn-table
.ui2-react-table__thead--row, .missing-locatopn-table
.ui2-react-table__row {
    width: 2600px !important; }
  .missing-locatopn-table
.ui2-react-table:first-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table:last-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table__th, .missing-locatopn-table
.ui2-react-table__td {
    flex: 6 1 0 !important; } }

@media (min-width: 1360px) and (max-width: 1601px) {
  .missing-locatopn-table
.ui2-react-table__thead--row, .missing-locatopn-table
.ui2-react-table__row {
    width: 2500px !important; }
  .missing-locatopn-table
.ui2-react-table:first-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table:last-child {
    flex: 1 1 0 !important; }
  .missing-locatopn-table
.ui2-react-table__th, .missing-locatopn-table
.ui2-react-table__td {
    flex: 6 1 0 !important; } }

@media screen and (min-width: 1390px) {
  .days-supply-table
.ui2-react-table__thead--row, .days-supply-table
.ui2-react-table__row {
    width: 100% !important; }
  .days-supply-table
.ui2-react-table__th, .days-supply-table
.ui2-react-table__td {
    flex: 7 1 0 !important; }
    .days-supply-table
.ui2-react-table__th:first-child, .days-supply-table
.ui2-react-table__td:first-child {
      flex: 2 1 0 !important; }
    .days-supply-table
.ui2-react-table__th:last-child, .days-supply-table
.ui2-react-table__td:last-child {
      flex: 3 1 0 !important; } }
.blocked-ico {
  display: inline-block;
  padding-left: 10px; }
  .blocked-ico > div {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-items: center;
    font-size: 12px;
    margin-left: 2px; }
    .blocked-ico > div span {
      line-height: 12px;
      color: #ea1f19;
      padding-left: 5px; }
    .blocked-ico > div i {
      font-size: 18px; }
.accumulations-wrapper .form-group.search-input-group input {
  height: 55px; }

.search-panel .btn-clear {
  top: 17px;
  right: 34px; }

.clear-accumulation .btn-clear,
.clear-location .btn-clear {
  top: 17px;
  right: 14px; }

.filter-row {
  display: flex;
  flex-basis: 100%;
  align-items: flex-end;
  margin-bottom: 20px;
  flex-wrap: wrap; }
  .filter-row.space-between {
    justify-content: space-between; }
  .filter-row.align-start {
    align-items: flex-start; }
  .filter-row--item {
    display: flex; }
    @media (max-width: 991px) {
      .filter-row--item {
        flex-wrap: wrap;
        margin-bottom: 15px; } }

.filter-status {
  display: flex;
  flex-basis: 100%;
  margin-bottom: 20px;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between; }
  .filter-status__total {
    font-size: 15px;
    color: #99a0ab;
    font-weight: 600;
    margin-right: 15px; }
  .filter-status__message {
    font-size: 15px;
    color: #99a0ab;
    font-weight: 600;
    flex-shrink: 1;
    flex: 1 1;
    margin-right: 15px; }

.small .btn-export-csv {
  height: 45px;
  padding: 10px 30px !important; }

@media (min-width: 768px) {
  .top-searchbar--accumulation .inputs-wrapper .search-input-group.small {
    min-width: 270px;
    max-width: 270px; } }

@media (max-width: 1350px) {
  .break-line {
    width: 100%; } }

.button-group {
  margin-top: 15px; }
  .button-group :first-child {
    float: left;
    margin-right: 15px; }

.date-info-icon {
  margin-left: 5px;
  cursor: pointer; }

.ndc-export {
  margin: 0 1.5% 1.5% 1.5%;
  max-width: 230px;
  position: relative; }
  .ndc-export .ndc-export-btn {
    width: 210px !important; }

.OrderBy {
  position: relative; }

.sort-accumulation-dropdown {
  max-width: 130px !important; }

.accumulations-search {
  margin-left: 3%;
  margin-top: 4%; }
.edit {
  color: #35668F;
  cursor: pointer;
  white-space: nowrap;
  outline: 0; }
  .edit:hover {
    color: #B2E5FF; }

.card-box--drug .loader {
  min-height: 80px;
  width: 150px; }

.multiplier {
  padding: 6px;
  background-color: #353e4a;
  border-radius: 4px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600; }

.ndc-check {
  min-height: 80px;
  display: flex;
  align-items: center;
  width: 100%; }
  .ndc-check .glyphicon {
    font-size: 30px;
    padding: 0 10px;
    color: #5cb85c;
    width: 60px; }
  .ndc-check .glyphicon-remove {
    color: #ea1f19; }

.card-box__title {
  display: flex;
  align-items: center; }
  .card-box__title .multiplier {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    min-width: 27px;
    height: 27px;
    padding: 0 5px; }
  .card-box__title .mapping-cdm-title {
    display: flex;
    align-items: center; }
    .card-box__title .mapping-cdm-title .review {
      display: flex;
      align-items: center;
      margin-left: 15px; }
      .card-box__title .mapping-cdm-title .review .icomoon-tag {
        margin-right: 5px; }
  .card-box__title .mapping-cdm-title.reprocess {
    position: relative;
    left: 180%; }

.card-box__table__mapping {
  padding: 0 10px;
  overflow-x: auto; }
  .card-box__table__mapping .vertical-align {
    vertical-align: middle;
    text-align: center;
    padding: 15px; }
  .card-box__table__mapping .rxs-spinner {
    margin: 0 auto; }
  .card-box__table__mapping .radio-inline.radio-label {
    width: 18px;
    height: 23px;
    padding: 0;
    margin: 0 auto; }
  .card-box__table__mapping .icon-fontello-trash-1::before {
    margin: 0; }
  .card-box__table__mapping .delete span {
    font-size: 1.2em;
    margin-left: -2px; }
  .card-box__table__mapping .table-striped {
    width: calc(100% + 5px);
    max-width: calc(100% + 5px);
    margin-left: -15px; }
    .card-box__table__mapping .table-striped > tbody > tr > td {
      padding-left: 15px; }

.date-range-wrap {
  margin-bottom: 15px; }
  .date-range-wrap [class*='col-xs'] {
    max-width: 270px; }
    @media (max-width: 425px) {
      .date-range-wrap [class*='col-xs'] {
        max-width: 100%; } }

.card-box__table__mapping .table-striped .highlight {
  background-color: #ffea84a8; }

.rightSideBorder, .leftSideBorder {
  position: relative; }

.rightSideBorder::after, .leftSideBorder::after {
  content: "";
  position: absolute;
  height: 100%;
  background-color: #000000;
  width: 1px;
  right: -7px;
  top: 0px;
  bottom: 0px; }

.leftSideBorder::after {
  right: unset;
  left: -7px; }

.rightSidetags {
  margin-top: 20px; }

.pl-20 {
  padding-left: 20px; }

@media (max-width: 1240px) {
  .card-box__details--rwd {
    overflow-x: scroll; } }
.order-container {
  background: white; }
  @media (min-height: 800px) {
    .order-container {
      min-height: 85vh; } }
  .order-container .unmapped-rows-count, .order-container .warning {
    display: flex;
    align-items: center;
    color: #e19000; }
    .order-container .unmapped-rows-count .icomoon-alerts, .order-container .warning .icomoon-alerts {
      margin-right: 10px;
      font-size: 28px; }
    .order-container .unmapped-rows-count .text-group, .order-container .warning .text-group {
      font-size: 12px;
      font-weight: bold; }
  .order-container .icomoon-plus:before {
    font-size: 10px; }
  .order-container .icomoon-minus:before {
    font-size: 1.5px; }
  .order-container .header {
    display: flex;
    justify-content: space-between; }
    .order-container .header .select-with-spinner {
      position: relative; }
      .order-container .header .select-with-spinner .rxs-spinner {
        position: absolute;
        top: 3px;
        right: 39px; }
    .order-container .header .summary {
      padding: 25px;
      justify-content: flex-start;
      display: flex;
      flex: 1.4; }
      .order-container .header .summary .middle-content {
        width: 350px;
        display: flex;
        flex-direction: column;
        justify-items: center;
        padding: 15px 0 15px 50px; }
      .order-container .header .summary--title {
        font-size: 28px;
        font-weight: bold;
        color: #353e4a;
        margin-bottom: 20px;
        margin-right: 15px;
        display: flex;
        align-items: center; }
      .order-container .header .summary--subtitle {
        display: flex; }
        .order-container .header .summary--subtitle > div {
          margin: 0 25px; }
          .order-container .header .summary--subtitle > div:first-child {
            margin: 0 25px 0 0; }
        .order-container .header .summary--subtitle .bad {
          color: red;
          font-weight: bold; }
    .order-container .header--prices {
      display: flex;
      justify-content: flex-end; }
      .order-container .header--prices .price-block {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
        padding: 2%;
        border-left: 1px solid #eee; }
        .order-container .header--prices .price-block .title {
          text-align: right;
          font-size: 18px;
          color: #99a0ab;
          font-weight: 600; }
        .order-container .header--prices .price-block .price {
          text-align: right;
          font-size: 28px;
          color: #353e4a; }
        .order-container .header--prices .price-block .bad {
          text-align: right;
          font-size: 15px;
          color: red; }
  .order-container .hr-blue {
    height: 1px;
    background: #0069bb; }
  .order-container .details {
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #bbb; }
    .order-container .details .search-box-group {
      display: flex;
      align-items: center; }
      .order-container .details .search-box-group .items-counter {
        margin-left: 20px; }
    .order-container .details .form-group {
      max-width: unset; }
    .order-container .details .search-filter-toggle {
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      width: unset;
      margin-left: 40px; }
      .order-container .details .search-filter-toggle .control-label {
        margin-left: 10px;
        margin-bottom: 0;
        min-width: 101px; }
  .order-container .table-container-details {
    padding: 5px 25px 0 25px;
    height: 400px;
    overflow-x: auto; }
    @media (min-height: 800px) {
      .order-container .table-container-details {
        height: calc(100vh - 500px); } }
    .order-container .table-container-details .ReactTable {
      border: none;
      background: transparent;
      max-height: 390px; }
      @media (min-height: 800px) {
        .order-container .table-container-details .ReactTable {
          max-height: calc(100vh - 520px); } }
      .order-container .table-container-details .ReactTable .-headerGroups {
        border: none;
        overflow: hidden;
        background: white; }
        .order-container .table-container-details .ReactTable .-headerGroups .rt-tr .rt-th {
          padding-left: 5px;
          background: white;
          text-align: left;
          margin-right: 3px;
          border: none;
          border-bottom: 2px #bbb solid; }
          .order-container .table-container-details .ReactTable .-headerGroups .rt-tr .rt-th:last-child {
            margin-right: 0; }
      .order-container .table-container-details .ReactTable .-header {
        overflow-y: hidden;
        background: white;
        border-bottom: 1px solid gray; }
        .order-container .table-container-details .ReactTable .-header .rt-tr .rt-th {
          border: none;
          padding: 10px 0 10px 5px;
          font-size: 13px;
          font-weight: bold;
          color: #8e96a2; }
          .order-container .table-container-details .ReactTable .-header .rt-tr .rt-th:last-child {
            padding-right: 5px; }
      .order-container .table-container-details .ReactTable .rt-tbody {
        overflow-y: auto; }
        .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group {
          border-bottom: none; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group:nth-child(2n) {
            background: #fbfbfb; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .rt-td {
            display: flex;
            align-items: center;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            padding-right: 5px;
            border-top: 1px solid #d8e1ed;
            border-left: 1px solid #d8e1ed; }
            .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .rt-td:last-child {
              border-right: 1px solid #d8e1ed; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group:first-child {
            border-top: none; }
            .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group:first-child .rt-td {
              border-top: none; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group:last-child {
            border-bottom: 1px solid #d8e1ed; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .in-row-with-spinner {
            display: flex;
            position: relative; }
            .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .in-row-with-spinner .rxs-spinner {
              position: absolute;
              top: 3px;
              right: 39px; }
          .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .number-input {
            background: white;
            border-radius: 8px;
            box-sizing: border-box;
            border: 1px solid #ddd;
            text-align: left;
            max-width: 80px; }
            .order-container .table-container-details .ReactTable .rt-tbody .rt-tr-group .number-input input.form-control {
              padding: 0 12px;
              max-width: 56px;
              height: 25px;
              position: relative;
              border: none; }
  .order-container .drug-form__container {
    padding: 10px 25px; }
    .order-container .drug-form__container .drug-form {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid #eee;
      padding-bottom: 5px; }
      .order-container .drug-form__container .drug-form .input-with-spinner {
        position: relative; }
        .order-container .drug-form__container .drug-form .input-with-spinner .rxs-spinner {
          position: absolute;
          top: 26px;
          left: 45px; }
      .order-container .drug-form__container .drug-form .form-group {
        max-width: 140px;
        position: relative;
        margin-bottom: 0; }
        .order-container .drug-form__container .drug-form .form-group .control-label {
          font-size: 14px; }
        .order-container .drug-form__container .drug-form .form-group .error {
          position: absolute;
          bottom: -18px;
          left: 0; }
        .order-container .drug-form__container .drug-form .form-group .form-data {
          line-height: unset; }
        .order-container .drug-form__container .drug-form .form-group .form-control {
          height: 45px; }
      .order-container .drug-form__container .drug-form .btn {
        margin-top: 24px; }
  .order-container .options {
    padding: 25px; }
    .order-container .options .grand-total {
      font-size: 22px; }
    .order-container .options .group-line {
      display: flex;
      align-items: center;
      justify-content: space-between; }
    .order-container .options .form-group-buttons {
      display: flex;
      justify-content: space-between;
      padding-top: 25px;
      margin-bottom: 0; }
      .order-container .options .form-group-buttons .confirm-order {
        display: flex;
        align-items: center; }
        .order-container .options .form-group-buttons .confirm-order .search-filter-toggle {
          display: flex;
          align-items: center; }
          .order-container .options .form-group-buttons .confirm-order .search-filter-toggle label {
            max-width: 130px;
            margin: 0 20px 0 10px; }
          .order-container .options .form-group-buttons .confirm-order .search-filter-toggle.disabled {
            cursor: not-allowed;
            color: #8eabbb; }
            .order-container .options .form-group-buttons .confirm-order .search-filter-toggle.disabled > div > div {
              cursor: not-allowed; }

.select-simple__open-requests {
  min-width: 250px;
  max-width: 350px; }

.orders-list {
  min-height: 550px; }
  .orders-list .inputs-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    .orders-list .inputs-wrapper .btn {
      display: flex;
      justify-content: center;
      align-items: center; }
  .orders-list .requests-orders-search {
    justify-content: start; }
    .orders-list .requests-orders-search .date-range-picker--dropdown {
      margin-right: 15px; }
    .orders-list .requests-orders-search .export__container {
      margin-left: auto; }
    .orders-list .requests-orders-search .daterange {
      margin-left: -180px !important;
      margin-top: -10px !important; }
    .orders-list .requests-orders-search .search-closed {
      top: 10px; }
    .orders-list .requests-orders-search .status-closed {
      left: 125%;
      top: -6px; }
    .orders-list .requests-orders-search .tooltip-closed .icomoon-support {
      margin-top: -40px;
      margin-right: 233px !important; }
    .orders-list .requests-orders-search .search-input-group {
      margin-right: 15px;
      margin-top: 0;
      margin-bottom: 0;
      max-width: 400px; }
      .orders-list .requests-orders-search .search-input-group .icomoon-search {
        top: 12px; }
      .orders-list .requests-orders-search .search-input-group input {
        height: 45px !important; }
  .orders-list .status-processed {
    opacity: 0.5; }

.manual-po-label {
  color: white;
  padding: 6px 10px;
  margin-left: 20px;
  background: #35668F;
  font-size: 12px; }
  .manual-po-label .glyphicon {
    margin-right: 5px; }

.csv-export {
  margin-top: 30px;
  margin-right: 5%; }

@media screen and (min-width: 1400px) {
  .OrderDetails {
    margin-top: 30px; } }
.ui2-card-box {
  width: 100%;
  border: 1px solid #ececec;
  margin-bottom: 10px;
  color: #353e4a;
  background-color: #fff;
  display: flex;
  flex-direction: row; }
  .ui2-card-box .ui2-card-box {
    margin-bottom: 0;
    border: none; }
  .ui2-card-box.open {
    border-color: #ececec; }
    .ui2-card-box.open:last-child {
      margin-bottom: 150px; }
    .ui2-card-box.open .buttons-container {
      border-bottom: 1px solid #35668F; }
  .ui2-card-box--no-hover:hover {
    border-color: #ececec !important; }
  .ui2-card-box .ReactCollapse--collapse {
    clear: both; }
  .ui2-card-box__color-badge {
    flex: 0 0 12px; }
    .ui2-card-box__color-badge--yellow {
      background-color: #FCF467; }
    .ui2-card-box__color-badge--green {
      background-color: #9ECF62; }
    .ui2-card-box__color-badge--red {
      background-color: #DF5536; }
    .ui2-card-box__color-badge--grey {
      background-color: #ACACAC; }
  .ui2-card-box__body {
    width: 100%; }
  .ui2-card-box__content-wrapper {
    padding: 10px 0 0 30px; }
  .ui2-card-box__content {
    display: flex;
    padding: 15px 0; }
  .ui2-card-box__title {
    margin: 0;
    font-size: 18px;
    font-weight: normal;
    color: #353e4a;
    display: flex; }
    @media (min-width: 992px) {
      .ui2-card-box__title {
        font-size: 22px; } }
  .ui2-card-box .react-tabs__tab-list {
    display: none; }
  .ui2-card-box__buttons-container {
    clear: both;
    width: 100%;
    border-top: 1px solid #35668F; }
    @media (min-width: 640px) and (max-width: 992px) {
      .ui2-card-box__buttons-container .list-inline {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; }
        .ui2-card-box__buttons-container .list-inline::-webkit-scrollbar {
          display: none; } }
    @media (min-width: 640px) {
      .ui2-card-box__buttons-container .list-inline {
        display: flex;
        justify-content: space-between; } }
    @media (min-width: 1200px) {
      .ui2-card-box__buttons-container .list-inline {
        display: flex;
        justify-content: flex-start; } }
    .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab, .ui2-card-box__buttons-container .list-inline li {
      cursor: pointer;
      padding: 9px 30px;
      font-size: 16px;
      font-weight: 400;
      color: #35668F; }
      .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab:hover, .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab.active, .ui2-card-box__buttons-container .list-inline li:hover, .ui2-card-box__buttons-container .list-inline li.active {
        transition: 0.3s linear;
        background-color: #35668F;
        color: #ffffff;
        text-decoration: none;
        font-weight: 600; }
      .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab__dropdown, .ui2-card-box__buttons-container .list-inline li__dropdown {
        position: absolute;
        z-index: 20;
        top: 40px;
        min-width: 200px;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
        left: 0;
        background: white;
        height: 0;
        overflow: hidden;
        visibility: hidden; }
        .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab__dropdown.open, .ui2-card-box__buttons-container .list-inline li__dropdown.open {
          height: unset;
          overflow: unset;
          visibility: visible; }
      @media (max-width: 640px) {
        .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab, .ui2-card-box__buttons-container .list-inline li {
          width: 100%; } }
      @media (min-width: 640px) and (max-width: 992px) {
        .ui2-card-box__buttons-container .list-inline .ui2-card-box__tab, .ui2-card-box__buttons-container .list-inline li {
          min-width: 140px;
          text-align: center; } }
  .ui2-card-box__tab {
    align-items: center;
    position: relative; }
    .ui2-card-box__tab .badge {
      margin-left: 5px;
      background: #1d303f;
      color: white;
      z-index: 2; }
    .ui2-card-box__tab.info-text-tab {
      cursor: auto;
      text-decoration: none; }
      .ui2-card-box__tab.info-text-tab:hover, .ui2-card-box__tab.info-text-tab:focus, .ui2-card-box__tab.info-text-tab:active {
        background: transparent;
        color: #35668F;
        outline: none;
        font-weight: normal; }
      .ui2-card-box__tab.info-text-tab.active {
        background: transparent;
        color: #35668F;
        font-weight: normal; }
    .ui2-card-box__tab--disabled {
      color: #777777;
      pointer-events: none; }
    .ui2-card-box__tab__icon {
      width: 20px;
      height: 20px;
      margin-right: 10px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      display: inline-block; }
      .ui2-card-box__tab__icon--accumulation {
        background-image: url("/imgs/icons/accumulation-icon.png"); }
      .ui2-card-box__tab__icon--adjustment {
        background-image: url("/imgs/icons/icons8-adjust-black.png"); }
    .ui2-card-box__tab:hover .ui2-card-box__tab__icon--accumulation {
      background-image: url("/imgs/icons/accumulation-icon-white.png"); }
    .ui2-card-box__tab:hover .ui2-card-box__tab__icon--adjustment {
      background-image: url("/imgs/icons/icons8-adjust-white.png"); }
    .ui2-card-box__tab--wrapper {
      display: flex; }
.details-modal.modal-dialog {
  width: 90%; }
  .details-modal.modal-dialog .contract-order {
    padding: 0; }
  .details-modal.modal-dialog .container-fluid {
    padding: 0; }
  .details-modal.modal-dialog .card-box.open:last-child {
    margin-bottom: 0; }
.reconcile {
  padding: 0 20px; }
  .reconcile .date-range-picker--dropdown__header input {
    min-width: unset;
    width: 100%; }
  .reconcile__alert {
    display: flex;
    align-items: center; }
    .reconcile__alert p {
      margin: 0; }
  .reconcile__alert-icon {
    margin-right: 15px;
    width: 50px;
    height: 50px;
    display: inline-block;
    background-position: center;
    background-size: contain;
    background-image: url("/imgs/icons/icons8-warning_shield.png"); }
  .reconcile__header {
    font-size: 16px; }
    .reconcile__header .ui2-card-box__title {
      margin-bottom: 10px; }
    .reconcile__header.row {
      margin-right: 20px;
      padding-left: 20px; }
    .reconcile__header__content {
      display: flex; }
  .reconcile__submit-row {
    display: flex;
    justify-content: flex-end; }
  .reconcile__table .form-group {
    margin: 0; }
    .reconcile__table .form-group .control-label {
      display: none; }
    .reconcile__table .form-group input.form-control {
      height: 35px; }
  .reconcile__table .error {
    white-space: break-spaces; }
  .reconcile__table .warning {
    color: #E05C32;
    white-space: break-spaces; }

html.default .reconcile textarea.form-control {
  height: 105px; }

html.default .reconcile hr {
  border-color: #F3F3F3;
  border-width: 2px; }
.new-orders-screen .create-order-btn-wrapper {
  top: 25px;
  display: flex;
  justify-content: flex-end; }

.agGridNewOrders {
  width: 100%;
  height: 100%; }

.newOrders_placeOrder {
  margin-top: 2%;
  position: relative;
  left: 20px;
  display: inline-flex;
  gap: 10px 20px; }

.new-orders-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }
.purchase-orders--form {
  position: relative;
  padding: 30px;
  background: #fff; }

.purchase-orders .card-box__detail {
  width: 14%;
  max-width: 190px;
  word-wrap: break-word; }

.purchase-orders .card-box__title .card-box__detail {
  width: auto;
  max-width: 100%; }

.purchase-orders .card-box__title .card-box__detail-value {
  font-size: 28px; }

.purchase-orders .search-panel .search-input-group {
  margin-right: 15px;
  margin-top: 0;
  max-width: 400px; }
  .purchase-orders .search-panel .search-input-group .icomoon-search {
    top: 12px; }
  .purchase-orders .search-panel .search-input-group input {
    height: 45px !important; }

.purchase-orders .search-panel .search-filter-toggle {
  display: none; }

.purchase-orders .search-panel .date-range-picker--dropdown {
  margin-right: 15px; }
  .purchase-orders .search-panel .date-range-picker--dropdown .rdrDays button {
    margin: 0; }

.purchase-orders .search-panel .select-simple {
  align-items: start;
  margin-left: 0;
  margin-right: 15px; }
.invoices--form {
  position: relative;
  padding: 30px;
  background: #fff; }

.invoices .card-box__detail {
  width: 12%; }
.provider-eligibility-tab .add-eligibility-btn-wrapper {
  margin: 10px 0px;
  display: flex;
  justify-content: flex-end; }

.eligibility-provider-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }
.inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel {
  display: flex;
  justify-content: flex-start; }
  .inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel .search-filter {
    float: left;
    margin-right: 20px;
    margin-top: -12px; }
  .inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel .export__container.dropdown {
    margin-left: auto;
    margin-right: 1.5%;
    width: 185px !important; }

.inner-outer-packs .edit {
  color: #35668F;
  cursor: pointer;
  white-space: nowrap;
  outline: 0; }
  .inner-outer-packs .edit:hover {
    color: #B2E5FF; }

.inner-outer-packs .card-box--drug .loader {
  min-height: 80px;
  width: 150px; }

.inner-outer-packs .multiplier {
  padding: 6px;
  background-color: #353e4a;
  border-radius: 4px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600; }

.inner-outer-packs .ndc-check {
  min-height: 80px;
  display: flex;
  align-items: center;
  width: 100%; }
  .inner-outer-packs .ndc-check .glyphicon {
    font-size: 30px;
    padding: 0 10px;
    color: #5cb85c;
    width: 60px; }
  .inner-outer-packs .ndc-check .glyphicon-remove {
    color: #ea1f19; }

.inner-outer-packs .card-box__title {
  display: flex;
  align-items: center; }
  .inner-outer-packs .card-box__title .multiplier {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    min-width: 27px;
    height: 27px;
    padding: 0 5px; }
  .inner-outer-packs .card-box__title .mapping-cdm-title {
    display: flex;
    align-items: center; }
    .inner-outer-packs .card-box__title .mapping-cdm-title .review {
      display: flex;
      align-items: center;
      margin-left: 15px; }
      .inner-outer-packs .card-box__title .mapping-cdm-title .review .icomoon-tag {
        margin-right: 5px; }

.inner-outer-packs .card-box__table__mapping .table-striped {
  width: calc(100% + 5px);
  max-width: calc(100% + 5px);
  margin-left: -15px; }
  .inner-outer-packs .card-box__table__mapping .table-striped > tbody > tr > td {
    padding-left: 15px; }

.inner-outer-packs .date-range-wrap {
  margin-bottom: 15px; }
  .inner-outer-packs .date-range-wrap [class*='col-xs'] {
    max-width: 270px; }
    @media (max-width: 425px) {
      .inner-outer-packs .date-range-wrap [class*='col-xs'] {
        max-width: 100%; } }

.inner-outer-packs .card-box__table__innerpack .table-striped .highlight {
  background-color: #ffea84a8; }

@media (max-width: 1240px) {
  .inner-outer-packs .card-box__details--rwd {
    overflow-x: scroll; } }
.inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel {
  display: flex;
  justify-content: flex-start; }
  .inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel .search-filter {
    float: left;
    margin-right: 20px; }
  .inner-outer-packs .top-searchbar--mapping .inputs-wrapper.search-panel .export__container.dropdown {
    margin-left: auto;
    margin-right: 1.5%; }

.inner-outer-packs .edit {
  color: #35668F;
  cursor: pointer;
  white-space: nowrap;
  outline: 0; }
  .inner-outer-packs .edit:hover {
    color: #b2e5ff; }

.inner-outer-packs .card-box--drug .loader {
  min-height: 80px;
  width: 150px; }

.inner-outer-packs .multiplier {
  padding: 6px;
  background-color: #353e4a;
  border-radius: 4px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600; }

.inner-outer-packs .ndc-check {
  min-height: 80px;
  display: flex;
  align-items: center;
  width: 100%; }
  .inner-outer-packs .ndc-check .glyphicon {
    font-size: 30px;
    padding: 0 10px;
    color: #5cb85c;
    width: 60px; }
  .inner-outer-packs .ndc-check .glyphicon-remove {
    color: #ea1f19; }

.inner-outer-packs .card-box__title {
  display: flex;
  align-items: center; }
  .inner-outer-packs .card-box__title .multiplier {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    min-width: 27px;
    height: 27px;
    padding: 0 5px; }
  .inner-outer-packs .card-box__title .mapping-cdm-title {
    display: flex;
    align-items: center; }
    .inner-outer-packs .card-box__title .mapping-cdm-title .review {
      display: flex;
      align-items: center;
      margin-left: 15px; }
      .inner-outer-packs .card-box__title .mapping-cdm-title .review .icomoon-tag {
        margin-right: 5px; }

.inner-outer-packs .card-box__table__mapping .table-striped {
  width: calc(100% + 5px);
  max-width: calc(100% + 5px);
  margin-left: -15px; }
  .inner-outer-packs .card-box__table__mapping .table-striped > tbody > tr > td {
    padding-left: 15px; }

.inner-outer-packs .date-range-wrap {
  margin-bottom: 15px; }
  .inner-outer-packs .date-range-wrap [class*="col-xs"] {
    max-width: 270px; }
    @media (max-width: 425px) {
      .inner-outer-packs .date-range-wrap [class*="col-xs"] {
        max-width: 100%; } }

.inner-outer-packs .card-box__table__innerpack .table-striped .highlight {
  background-color: #ffea84a8; }

@media (max-width: 1240px) {
  .inner-outer-packs .card-box__details--rwd {
    overflow-x: scroll; } }
.ui2-whitelist__search-panel {
  padding: 0 25px;
  display: flex;
  align-items: flex-end; }
  .ui2-whitelist__search-panel .form-group + .form-group {
    margin-left: 15px; }

.ui2-whitelist-table {
  margin: 50px 20px; }
  .ui2-whitelist-table .ui2-react-table {
    height: 600px; }
  .ui2-whitelist-table .action-button--disabled {
    color: #d3d3d3; }

.related-mappings-table td, .related-mappings-table th {
  padding: 2px 10px; }
  .related-mappings-table td:first-of-type, .related-mappings-table th:first-of-type {
    padding-left: 0; }

.related-mappings-table__cell {
  width: 150px; }

.related-mappings-table__primary {
  width: 80px; }

.related-mappings-table .primary-mapping-badge {
  background-color: #35668F;
  color: #fff;
  padding: 5px 12px;
  border-radius: 10px;
  font-size: 14px; }
.ce-site-setting-from {
  background-color: white;
  margin: 20px; }
  .ce-site-setting-from .submit-buttons {
    display: flex; }
  .ce-site-setting-from .card-box {
    padding: 10px; }
  .ce-site-setting-from .inline {
    display: inline-block; }
.details-modals.modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0px; }
  .details-modals.modal-dialog .modal-content {
    background-color: #f3f6f7;
    overflow: auto;
    max-width: 90%;
    max-height: 90%;
    top: -10%; }
  .details-modals.modal-dialog .modal-header {
    margin-left: 35px;
    border: none !important;
    font-family: sans-serif !important;
    font-size: 10px; }
    .details-modals.modal-dialog .modal-header .modal-header-content {
      margin-right: 35px; }
      .details-modals.modal-dialog .modal-header .modal-header-content .item-ndc-details {
        font-weight: 700;
        font-size: 34px; }
      .details-modals.modal-dialog .modal-header .modal-header-content .item-quantity-details {
        font-weight: 700;
        font-size: 24px;
        padding-left: 2px; }
      .details-modals.modal-dialog .modal-header .modal-header-content .item-order-quantity {
        font-weight: 700;
        font-size: 24px;
        padding-left: 3px; }
  .details-modals.modal-dialog .modal-body {
    padding: 0px 15px 15px 15px !important; }
  .details-modals.modal-dialog .modal-body-buttons {
    display: flex; }

.modal-container {
  background: white;
  padding: 20px; }

.hr-blue {
  height: 1px;
  background: #0069bb;
  margin-bottom: 25px; }

.alternate-ndc-details-table .rt-td {
  padding: 7px 5px; }

.alternate-ndc-details-table .rt-table .rt-tbody .rt-tr-group .rt-td {
  display: flex;
  align-items: center;
  overflow: hidden;
  border-top: 1px solid #d8e1ed;
  border-left: 1px solid #d8e1ed; }
  .alternate-ndc-details-table .rt-table .rt-tbody .rt-tr-group .rt-td:last-child {
    border-right: 1px solid #d8e1ed; }

.alternate-ndc-details-table .rt-table .rt-thead .rt-tr .rt-th {
  background: white;
  border: none;
  border-bottom: 2px #bbb solid; }

.alternate-ndc-details-table {
  border-top: none;
  border-left: none;
  border-right: none;
  margin-bottom: 28px; }

.confirmation-modal {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
  width: 550px !important;
  height: 80%;
  top: -5%; }
  .confirmation-modal .modal-header {
    border: none !important;
    padding: 0px; }
  .confirmation-modal .modal-body {
    padding: 5px 10px 15px 10px !important;
    font-size: 19px; }
    .confirmation-modal .modal-body .modal-body-buttons {
      padding: 10px 5px 5px 5px;
      display: flex;
      justify-content: center; }
      .confirmation-modal .modal-body .modal-body-buttons button {
        height: 43px;
        padding: 2px 25px; }

.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5) !important;
  z-index: 1050 !important; }

.confirmation-modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5) !important;
  z-index: 1050 !important; }
.import-invoices .alert-info {
  display: flex;
  justify-content: space-between; }
  .import-invoices .alert-info .remove-btn {
    display: flex;
    align-items: center; }

.import-invoices .btn {
  border: none;
  width: 100%;
  transition: all 0.3s ease;
  text-align: center; }
  .import-invoices .btn.add-button {
    background-color: #35668F;
    color: white; }
    .import-invoices .btn.add-button:hover {
      background: #0091C4; }

.import-invoices__instructions .chart-white--blocks img {
  margin: 15px 0; }

.import-invoices__instructions .chart-white--blocks h4 {
  margin: 15px 0; }

.import-invoices__instructions .chart-white--blocks li {
  padding: 2px; }

.import-invoices__instructions .chart-white--blocks p {
  margin: 10px 0; }

.import-invoices__instructions .chart-white--blocks .select-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 15px; }
  .import-invoices__instructions .chart-white--blocks .select-wrapper--date {
    min-height: 250px; }
  .import-invoices__instructions .chart-white--blocks .select-wrapper--rxdate {
    min-height: 150px; }
  .import-invoices__instructions .chart-white--blocks .select-wrapper--delimiter {
    min-height: 180px; }
  .import-invoices__instructions .chart-white--blocks .select-wrapper--rxdelimeter {
    min-height: 100px; }

.import-invoices__instructions .chart-white--blocks .react-select__control--is-disabled {
  background-color: #ffffff; }

.import-invoices__instructions .chart-white--blocks .react-select__single-value--is-disabled {
  color: #000000; }

.import-invoices__instructions .chart-white--blocks .example-table {
  font-size: 14px;
  background-color: #ffffff;
  color: #000000;
  width: max-content; }
  .import-invoices__instructions .chart-white--blocks .example-table thead td {
    border: 1px solid #cdcdcd;
    padding: 2px; }
  .import-invoices__instructions .chart-white--blocks .example-table tbody tr {
    background-color: #ffffff; }
    .import-invoices__instructions .chart-white--blocks .example-table tbody tr td {
      border: 1px solid #cdcdcd;
      padding: 2px;
      text-align: right; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(1) {
        width: 130px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(2) {
        width: 90px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(3) {
        width: 130px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(4) {
        width: 110px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(5) {
        width: 110px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(6) {
        text-align: left;
        width: 120px; }
      .import-invoices__instructions .chart-white--blocks .example-table tbody tr td:nth-child(7) {
        width: 140px; }

.import-invoices__instructions .chart-white--blocks .validation-results__email {
  margin: 20px 0; }
  .import-invoices__instructions .chart-white--blocks .validation-results__email h4 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 50px; }
  .import-invoices__instructions .chart-white--blocks .validation-results__email p {
    margin-bottom: 15px;
    font-size: 12px; }
    .import-invoices__instructions .chart-white--blocks .validation-results__email p span {
      font-weight: bold;
      margin-right: 20px; }
    .import-invoices__instructions .chart-white--blocks .validation-results__email p.details {
      margin-top: 50px; }
.contract-rx-order-claims {
  padding: 30px; }
  .contract-rx-order-claims--actions-bar {
    padding-bottom: 15px;
    text-align: right; }

.contract-order__table,
.contract-order__total {
  padding: 30px;
  background-color: #fff; }
  .contract-rx-order-claims .contract-order__table, .contract-rx-order-claims
  .contract-order__total {
    padding: 0; }
  .contract-order__table .danger-spinner > div,
  .contract-order__total .danger-spinner > div {
    background-color: white; }
  .contract-order__table .btn-approve-order,
  .contract-order__table .btn-delete-order,
  .contract-order__total .btn-approve-order,
  .contract-order__total .btn-delete-order {
    margin-left: 15px;
    width: 183px; }
    .contract-order__table .btn-approve-order > .rxs-spinner,
    .contract-order__table .btn-delete-order > .rxs-spinner,
    .contract-order__total .btn-approve-order > .rxs-spinner,
    .contract-order__total .btn-delete-order > .rxs-spinner {
      margin-top: 0; }

.add-drugs {
  margin-left: 10px; }

.contract-order__total {
  border-top: 1px solid #35668F; }

.contract-order__table .header--element {
  color: #737373; }

.contract-order__table .header--element {
  flex-grow: 1;
  flex-shrink: 1; }

.contract-order__table .simple-table {
  width: 1900px;
  margin-bottom: 0; }
  .contract-order__table .simple-table--header {
    border-bottom: 2px solid #f0f0f0;
    color: #99a0ab; }
  .contract-order__table .simple-table--body--row {
    border-top: none;
    background-color: #f3f6f7; }
    .contract-order__table .simple-table--body--row.red, .contract-order__table .simple-table--body--row:nth-child(2n - 1).red {
      background-color: #F3C9BF; }
      .contract-order__table .simple-table--body--row.red .claims-qty, .contract-order__table .simple-table--body--row:nth-child(2n - 1).red .claims-qty {
        color: red; }
    .contract-order__table .simple-table--body--row.yellow, .contract-order__table .simple-table--body--row:nth-child(2n - 1).yellow {
      background-color: #FDF89D; }
    .contract-order__table .simple-table--body--row.changed .claims-qty, .contract-order__table .simple-table--body--row.changed .dispensing-fees, .contract-order__table .simple-table--body--row.changed .pharmacy-collected, .contract-order__table .simple-table--body--row:nth-child(2n - 1).changed .claims-qty, .contract-order__table .simple-table--body--row:nth-child(2n - 1).changed .dispensing-fees, .contract-order__table .simple-table--body--row:nth-child(2n - 1).changed .pharmacy-collected {
      color: #808080; }
    .contract-order__table .simple-table--body--row:nth-child(2n - 1) {
      background-color: #FFFFFF; }
  .contract-order__table .simple-table .rx-order-split-bucket-name {
    text-align: center; }
    .contract-order__table .simple-table .rx-order-split-bucket-name .rx-order-split-info-poName {
      font-size: 13px; }

.contract-order__table .simple-table--body--row--element {
  border-left: none;
  border-bottom: none;
  flex-grow: 1;
  flex-shrink: 1; }
  .contract-order__table .simple-table--body--row--element:last-child {
    border-right: none; }

.contract-order__table .form-control-disabled {
  background: #e6e6e6;
  line-height: 45px; }

.card-box .contract-order__table {
  margin-top: 0;
  border-top: none; }

.contract-order {
  padding: 30px; }
  .contract-order .card-box {
    margin-bottom: 0;
    border: none; }
    .contract-order .card-box .buttons-container {
      display: none; }
  .contract-order--tabs__list {
    background: white; }
    .contract-order--tabs__list .react-tabs__tab-list {
      border-top: 1px solid #35668F;
      border-bottom: 1px solid #35668F;
      list-style: none;
      display: flex;
      justify-content: flex-start;
      padding: 0;
      margin: 0; }
      .contract-order--tabs__list .react-tabs__tab-list > li {
        cursor: pointer;
        padding: 9px 30px;
        font-size: 16px;
        font-weight: 400;
        color: #35668F; }
      .contract-order--tabs__list .react-tabs__tab-list .react-tabs__tab--selected {
        transition: 0.3s linear;
        background-color: #35668F;
        color: #ffffff;
        text-decoration: none;
        font-weight: 600; }

.input-number-wrapper.input-number-wrapper--inline-control {
  width: 160px;
  display: flex; }
  .input-number-wrapper.input-number-wrapper--inline-control .form-control {
    height: 25px;
    width: 50px;
    text-align: center;
    padding-right: 5px;
    padding-left: 5px;
    margin: 0 10px; }
  .input-number-wrapper.input-number-wrapper--inline-control .icomoon-plus-wrapper {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #67AD5B;
    outline: none;
    cursor: pointer; }
    .input-number-wrapper.input-number-wrapper--inline-control .icomoon-plus-wrapper.disabled {
      background-color: #000000; }
    .input-number-wrapper.input-number-wrapper--inline-control .icomoon-plus-wrapper .icomoon-plus {
      position: relative;
      top: 3px;
      left: 7px; }
      .input-number-wrapper.input-number-wrapper--inline-control .icomoon-plus-wrapper .icomoon-plus:before {
        color: #FFFFFF;
        font-size: 12.2px; }
  .input-number-wrapper.input-number-wrapper--inline-control .icomoon-minus-wrapper {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #DA4B4E;
    outline: none;
    cursor: pointer; }
    .input-number-wrapper.input-number-wrapper--inline-control .icomoon-minus-wrapper.disabled {
      background-color: #000000; }
    .input-number-wrapper.input-number-wrapper--inline-control .icomoon-minus-wrapper .icomoon-minus {
      position: relative;
      bottom: 1px;
      left: 7px; }
      .input-number-wrapper.input-number-wrapper--inline-control .icomoon-minus-wrapper .icomoon-minus:before {
        color: #FFFFFF;
        font-size: 2px; }

.contract-orders__details--action-buttons {
  display: flex;
  width: 100%; }
  .contract-orders__details--action-buttons .btn + .btn {
    margin-left: 15px; }
  .contract-orders__details--action-buttons .btn {
    height: 35px; }
  .contract-orders__details--action-buttons--wrapper {
    display: flex;
    justify-content: space-between;
    padding: 15px 30px; }
  .contract-orders__details--action-buttons .export__container .btn + .dropdown-toggle {
    padding-left: 2px;
    padding-right: 2px;
    width: 69px;
    margin-left: 0; }
  .contract-orders__details--action-buttons .export__container .export__button--action {
    padding: 2px 0 2px 10px;
    width: 110px; }

.contract-orders__details--message {
  display: flex;
  align-items: center;
  padding: 0 30px; }
  .contract-orders__details--message img {
    height: 25px;
    margin-right: 10px; }

.contract-order__table {
  padding-top: 15px; }
  .contract-order__table--right-aligned {
    margin-left: auto; }
  .contract-order__table--expand-all-wrapper {
    display: inline-block;
    margin-right: 15px; }
    .contract-order__table--expand-all-wrapper > span {
      margin-left: 10px; }
  .contract-order__table--expand-all {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    height: auto;
    font-size: 14px;
    color: #41658C;
    display: inline;
    border-radius: 0;
    border-bottom: 1px solid transparent; }
    .contract-order__table--expand-all:hover {
      color: #35668F;
      background: none;
      border-color: #c1d0dc; }
  .contract-order__table .simple-table--header {
    border-bottom: 2px solid #808080; }
    .contract-order__table .simple-table--header .header--element {
      color: #1A1A1A;
      text-align: left;
      display: block; }
  .contract-order__table .simple-table--body--row {
    border-left: none;
    border-right: none; }
    .contract-order__table .simple-table--body--row--element {
      color: #1A1A1A; }
    .contract-order__table .simple-table--body--row--icon-expander {
      padding-top: 0;
      align-items: center; }
  .contract-order__table .simple-table--body--row-expander-wrapper {
    border-bottom: 1px solid #ACACAC; }
    .contract-order__table .simple-table--body--row-expander-wrapper:nth-child(odd) > .simple-table--body--row {
      background: #F3F6F7; }
    .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.red {
      background-color: #F3C9BF; }
      .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.red .claims-qty {
        color: red; }
    .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.yellow {
      background-color: #FDF89D; }
    .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.changed .claims-qty, .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.changed .dispensing-fees, .contract-order__table .simple-table--body--row-expander-wrapper .simple-table--body--row.changed .pharmacy-collected {
      color: #808080; }
  .contract-order__table .simple-table--body--row-expander {
    padding: 0 0;
    border: none; }
    .contract-order__table .simple-table--body--row-expander .header--element {
      background: transparent;
      border: none; }
      .contract-order__table .simple-table--body--row-expander .header--element:last-child {
        border: none; }
  .contract-order__table .contract_rx_order_item_details {
    padding-left: 3%;
    padding-top: 0;
    padding-bottom: 10px; }
    .contract-order__table .contract_rx_order_item_details .simple-table {
      margin: 0; }
      .contract-order__table .contract_rx_order_item_details .simple-table--body--row {
        border-bottom: 1px solid #ACACAC; }

.rx-cd-order-split-info .top-row {
  display: flex;
  margin-bottom: 15px; }
  .rx-cd-order-split-info .top-row .search-filter-toggle {
    margin-left: auto !important;
    width: 300px !important; }
    .rx-cd-order-split-info .top-row .search-filter-toggle .toggle-label {
      padding-top: 0px !important;
      font-size: 18px; }
  .rx-cd-order-split-info .top-row .export__container.btn-group {
    margin-top: 15px;
    padding-right: 40px; }
    .rx-cd-order-split-info .top-row .export__container.btn-group .dropdown-menu {
      margin-left: 50px; }

.rx-cd-order-split-info .ag-theme-alpine {
  padding: 40px;
  padding-top: 10px;
  font-family: "Proxima Nova"; }
  .rx-cd-order-split-info .ag-theme-alpine .ag-header-cell, .rx-cd-order-split-info .ag-theme-alpine .ag-header-group-cell, .rx-cd-order-split-info .ag-theme-alpine .ag-cell {
    border-right: 1px solid #babfc7 !important;
    user-select: all !important;
    -webkit-user-select: text !important;
    padding-left: 15px;
    padding-right: 15px; }

.rx-cd-order-split-info .ag-header-group-cell, .rx-cd-order-split-info .ag-header-cell-label {
  justify-content: center;
  font-size: 16px; }

.rx-cd-order-split-info .ag-cell {
  text-align: center;
  border-right: solid 1px;
  font-size: 15px; }

.rx-cd-order-split-info .cd-split-order-bucket-info {
  text-align: center;
  font-size: 16px; }
  .rx-cd-order-split-info .cd-split-order-bucket-info .split-order-poName {
    font-size: 13px; }

.rx-cd-order-split-info .ag-header-cell-comp-wrapper {
  padding: 0px;
  text-align: center; }
  .rx-cd-order-split-info .ag-header-cell-comp-wrapper > span {
    padding: 0px; }
.inputs-wrapper.open {
  position: fixed;
  top: 0px;
  width: calc(100% - 300px);
  left: 0;
  margin-left: 275px;
  background-color: #fff;
  border-bottom: 1px solid #3fddff;
  z-index: 10; }

@media (max-width: 1580px) {
  .inputs-wrapper.open {
    width: calc(100% - 75px);
    left: 50px;
    margin-left: 0px;
    padding: 0; } }

@media (max-width: 989px) {
  .search-sidebar {
    display: flex;
    flex-wrap: wrap; } }

.search-sidebar > div {
  display: inline-block; }

.search-sidebar .search-input-group {
  float: left; }
  @media (max-width: 989px) {
    .search-sidebar .search-input-group {
      width: 50%;
      max-width: none; } }
  @media (max-width: 745px) {
    .search-sidebar .search-input-group {
      width: 100%;
      max-width: none;
      order: 1;
      min-width: 200px; } }

.search-sidebar .search-filter-toggle {
  width: 80px;
  float: right;
  margin-bottom: 0; }
  @media (max-width: 989px) {
    .search-sidebar .search-filter-toggle {
      padding-left: 15px;
      width: 50%; } }
  @media (max-width: 745px) {
    .search-sidebar .search-filter-toggle {
      max-width: none;
      padding-left: 0;
      order: 3; } }

.search-sidebar .search-filter {
  width: 200px;
  padding-left: 30px;
  float: right;
  margin-bottom: 0; }
  @media (max-width: 989px) {
    .search-sidebar .search-filter {
      width: 50%;
      padding-left: 0; } }
  @media (max-width: 745px) {
    .search-sidebar .search-filter {
      width: 100%;
      margin-bottom: 15px;
      order: 4; } }

.sortByDesc::before {
  transform: rotate(90deg) !important; }

.sortByAsc::before {
  transform: rotate(-90deg) !important; }

@media (max-width: 1300px) {
  .new-invoice-form {
    overflow: scroll; } }

.product-order-details {
  font-size: 16px; }
  @media (max-width: 1300px) {
    .product-order-details {
      width: 1180px;
      height: 48vh; } }
  @media (min-width: 1152px) {
    .product-order-details .order-details-td {
      width: 500px; } }

.product-order-data-details {
  padding: 0 !important;
  font-size: 16px;
  overflow-x: scroll; }
  .product-order-data-details .scrollable {
    width: 300px;
    border-left: 5px solid #3fddff;
    border-right: 5px solid #3fddff; }

.product-order-data-details-summary {
  padding: 0 !important;
  text-align: right;
  font-size: 16px; }

.bg-gray {
  background-color: rgba(0, 0, 0, 0.04); }

.showingNo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 7px;
  margin: 0; }

.btn-clear {
  position: absolute;
  top: 8px;
  right: 0; }

.bg-red {
  background-color: #f98886 !important; }

.bg-green {
  background-color: #8ed380 !important; }

.tooltip-inner {
  background-color: #fff;
  color: #000;
  border: 1px solid black; }

.OrderDetails {
  padding: 0 25px; }
  .OrderDetails .scrollable {
    width: 500px;
    cursor: move;
    overflow: hidden;
    display: block;
    padding: 0 !important;
    top: 0;
    border-left: 5px solid #B8E1EF;
    border-right: 5px solid #B8E1EF;
    left: 0;
    height: 100%;
    position: absolute; }
    @media (max-width: 1151px) {
      .OrderDetails .scrollable {
        width: 100%; } }
  .OrderDetails .navbar-fixed-top {
    padding: 0 25px; }
  .OrderDetails .search-filter-toggle {
    margin: 0 0 15px; }
  .OrderDetails .no-padding {
    padding: 0 !important;
    position: relative;
    max-width: 500px; }
    @media (max-width: 1151px) {
      .OrderDetails .no-padding {
        border-left: none;
        border-right: none; } }
  .OrderDetails .scroll {
    height: 100%;
    display: inline-block;
    text-align: center; }
    .OrderDetails .scroll.scroll-3 {
      width: 1210px; }
    .OrderDetails .scroll.scroll-2 {
      width: 880px; }
    .OrderDetails .scroll .header {
      float: left;
      padding: 5px 10px;
      width: 110px;
      height: 100%; }
  .OrderDetails .inner-scroll {
    display: inline-block;
    cursor: move;
    text-align: center;
    margin-bottom: -8px; }
    .OrderDetails .inner-scroll.inner-scroll-3 {
      width: 1210px; }
    .OrderDetails .inner-scroll.inner-scroll-2 {
      width: 880px; }
    .OrderDetails .inner-scroll .header {
      float: left;
      padding: 0 10px;
      width: 110px; }
  .OrderDetails .header-container {
    padding: 0 !important; }
  .OrderDetails #header, .OrderDetails #tableheader {
    padding: 0 !important;
    border-left: 5px solid #B8E1EF;
    border-right: 5px solid #B8E1EF;
    height: 100% !important;
    width: 500px !important;
    overflow: auto; }
    @media (max-width: 1151px) {
      .OrderDetails #header, .OrderDetails #tableheader {
        width: 100% !important; } }
  .OrderDetails .order-details-table thead {
    display: none; }
    @media (max-width: 1300px) {
      .OrderDetails .order-details-table thead {
        display: table-header-group; } }
  .OrderDetails .qty-to-purchase {
    width: 90px;
    min-width: 90px; }
  .OrderDetails .w90 {
    min-width: 90px; }
  .OrderDetails .headers {
    font-weight: bold;
    display: flex; }
    .OrderDetails .headers > div {
      float: left;
      padding: 5px; }
    @media (max-width: 1300px) {
      .OrderDetails .headers {
        display: none; } }
  .OrderDetails .form-group-buttons .cancel-hold-order {
    display: flex; }
  .OrderDetails .form-group-buttons .btn {
    margin-bottom: 15px; }
    @media (max-width: 450px) {
      .OrderDetails .form-group-buttons .btn {
        float: none !important;
        width: 100%;
        margin-left: 0 !important; } }
  .OrderDetails .csv-export .export__container {
    display: flex; }
  .OrderDetails .search-sidebar .search-filter-toggle {
    margin-top: 5px;
    max-width: 130px;
    width: 100%;
    float: left; }
    .OrderDetails .search-sidebar .search-filter-toggle label {
      margin-bottom: 5px; }
  .OrderDetails .search-sidebar .items-counter {
    max-width: 220px; }
    @media (max-width: 767px) {
      .OrderDetails .search-sidebar .items-counter {
        order: 5;
        width: 100%;
        max-width: 100%; } }
  .OrderDetails .search-sidebar .form-group {
    margin-top: 5px;
    margin-bottom: 10px;
    max-width: 200px; }
    @media (max-width: 767px) {
      .OrderDetails .search-sidebar .form-group {
        width: 100%;
        max-width: 125px; } }
    .OrderDetails .search-sidebar .form-group:last-of-type {
      order: 4; }
      @media (max-width: 767px) {
        .OrderDetails .search-sidebar .form-group:last-of-type {
          width: 100%;
          max-width: 200px; } }
      .OrderDetails .search-sidebar .form-group:last-of-type .search-filter-toggle {
        order: 0; }
  @media (max-width: 767px) {
    .OrderDetails .search-sidebar .form-group-lg {
      width: 100%;
      max-width: 100%; } }
  @media (min-width: 1200px) {
    .OrderDetails .search-sidebar .form-group-lg {
      min-width: 428px;
      max-width: 428px; } }
  .OrderDetails .order-checkbox label {
    position: relative; }
    .OrderDetails .order-checkbox label input {
      position: relative;
      left: auto;
      top: 1px;
      margin-right: 6px; }

span.disabled.glyphicon.glyphicon-triangle-top {
  cursor: not-allowed;
  color: #ccc !important; }

.ReactTable.-scroll .rt-thead {
  overflow-y: scroll;
  overflow-x: hidden; }

.ReactTable.-scroll .rt-tbody {
  overflow-y: scroll;
  overflow-x: hidden; }

h3.page-category a {
  cursor: pointer;
  color: #00529B; }

.exposure-value--ok {
  color: green; }

.exposure-value--bad {
  color: white; }

.unmapped-rows-count {
  display: flex;
  align-items: center; }
  .unmapped-rows-count__label {
    margin-left: 30px;
    padding: 0 10px;
    background: #ffea84;
    border: 1px solid grey;
    color: #888888;
    font-weight: bold; }
    .unmapped-rows-count__label .number {
      color: #011424; }

.modal-styles .text {
  max-width: 800px; }

.modal-styles h2 {
  max-width: 800px; }

.modal-styles .btn-disabled {
  background: gray;
  border-color: gray;
  cursor: not-allowed; }

.invoiced-order {
  margin-left: 10px; }

.info-icon {
  position: absolute;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 55px;
  transform: translateY(-50%);
  cursor: pointer; }

.info-icon:hover {
  cursor: pointer; }
.breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0; }
  .breadcrumbs__li {
    margin: 0 2px; }
    .breadcrumbs__li:last-child {
      margin: 0 0 0 2px; }
    .breadcrumbs__li:first-child {
      margin: 0 2px 0 0; }
    .breadcrumbs__li .link {
      text-decoration: none; }
.manual-order {
  position: relative;
  z-index: 1; }
  .manual-order--title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0; }
    .manual-order--title span {
      padding-right: 20px; }
  .manual-order form {
    height: 60vh; }
  .manual-order--form {
    position: relative;
    padding: 30px;
    background: #fff; }
  .manual-order--options {
    display: flex;
    justify-content: flex-end; }
    .manual-order--options .btn {
      margin: 0 10px; }
      .manual-order--options .btn:first-child {
        margin-left: 0; }
      .manual-order--options .btn:last-child {
        margin-right: 0; }
  .manual-order .SingleDatePicker {
    display: block; }
    .manual-order .SingleDatePicker .SingleDatePickerInput {
      display: block; }
      .manual-order .SingleDatePicker .SingleDatePickerInput .DateInput {
        display: block; }
.new-audit-page {
  box-sizing: border-box;
  height: calc(100vh - 70px); }
  .new-audit-page__container {
    display: flex;
    flex-direction: column; }
  .new-audit-page__form .submit-btn {
    float: right;
    width: 200px; }
  .new-audit-page__form--summary {
    min-height: 45px;
    display: flex;
    align-items: flex-start; }
    .new-audit-page__form--summary .summary-btn {
      align-self: center; }
  .new-audit-page__form hr.audit-hr {
    margin-top: 5px;
    margin-bottom: 5px; }
  .new-audit-page__form .ui2-date-range-picker--dropdown__header {
    width: fit-content; }
  .new-audit-page__form .ui2-date-range-picker--dropdown__body {
    width: min-content; }
  .new-audit-page__form .checkbox-group-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 1px; }
    .new-audit-page__form .checkbox-group-horizontal .checkbox-label {
      flex: 0 1 auto;
      margin: 5px; }
  .new-audit-page__message {
    display: flex;
    align-items: center; }
    .new-audit-page__message .loader {
      width: 100px;
      min-height: 90px;
      padding-right: 30px;
      position: absolute;
      top: 2px;
      left: 0; }
    .new-audit-page__message .message {
      color: #011424;
      font-size: 20px;
      margin: 0;
      display: flex;
      flex-direction: column; }
      .new-audit-page__message .message .claims-count {
        font-size: 1.5em; }
      .new-audit-page__message .message .bucket-name {
        font-size: 1.2em; }
      .new-audit-page__message .message .gray-label {
        margin-bottom: 5px; }
    .new-audit-page__message .danger {
      color: #bc001a; }
  .new-audit-page__qty {
    width: 100%; }
  .new-audit-page__submit {
    flex: 1;
    width: 50%; }
  .new-audit-page .submit-btn {
    margin-top: 20px;
    max-width: 250px; }
  .new-audit-page .new-audit-date__label {
    display: block;
    margin-bottom: 5px; }
  .new-audit-page .no-claims input {
    border-color: #bc001a; }
  .new-audit-page .new-audit-claims {
    margin-left: 25px; }
    .new-audit-page .new-audit-claims input {
      height: 36px;
      border-radius: 0 !important; }
  .new-audit-page .glyphicon + .disabled {
    cursor: not-allowed;
    color: #ccc !important; }
  .new-audit-page .new-audit-select-type {
    margin-left: 0;
    margin-right: 25px; }
  .new-audit-page select.audit-type-select {
    height: 44px;
    background: white;
    border: 1px solid #cdcdcd;
    border-radius: 8px;
    width: 150px;
    outline: none;
    padding-left: 5px; }

.page__supheader {
  margin: 0; }
  .page__supheader a {
    color: #00529b; }
    .page__supheader a:hover {
      color: #0091c4; }

.white-spinner {
  margin: 0; }

.white-spinner > div {
  background-color: #ffffff; }

.audit-filters .form-group + .form-group {
  margin-left: 15px; }
.selectors {
  display: grid;
  grid-auto-flow: column; }
  .selectors .hide-checkbox input[type=checkbox] {
    display: none; }
  .selectors .selector-group {
    display: flex; }
  .selectors .selector-groups {
    margin: 5px 5px 0px 0px !important;
    display: grid;
    grid-template-columns: minmax(100px, 500px); }
  .selectors .selector-groups > div button + div {
    z-index: 6 !important;
    width: 100%;
    min-width: fit-content; }
  .selectors .selector-groups:last-child {
    flex: 1; }
  .selectors .submit-btn {
    height: 39px; }
  .selectors .btn-grp span {
    margin-top: 12px; }
  .selectors .icon-img {
    filter: brightness(0) saturate(100%) invert(35%) sepia(46%) saturate(562%) hue-rotate(165deg) brightness(95%) contrast(94%);
    height: 10px;
    display: flex;
    margin-left: auto;
    margin-bottom: 2px; }
  .selectors .selector-groups button {
    border-radius: 8px;
    border: 1px solid #cdcdcd;
    box-shadow: none;
    width: 100%; }

.validation-msg {
  margin: 5px 0px;
  color: #de1927; }

.margin-0 {
  margin: 0px !important; }

.padding-0 {
  padding: 0px !important; }
.checkbox-group {
  align-items: flex-end;
  padding: 10px 15px; }
  .checkbox-group--vertical .checkbox-group__buttons {
    flex: 0 0 90px; }
  @media (max-width: 992px) {
    .checkbox-group {
      margin: 10px 0; } }
  .checkbox-group .checkbox {
    margin: 0 10px 0 0;
    padding-left: 22px; }
  .checkbox-group .checkbox-icon {
    width: 20px;
    margin-right: 8px; }
  .checkbox-group__list--horizontal > div {
    flex: 0 0 50%;
    margin-bottom: 10px; }
  .checkbox-group__list--vertical {
    flex: 0 0 850px;
    max-height: 60px; }
  .checkbox-group--vertical {
    width: 950px; }
    .checkbox-group--vertical .checkbox-group__buttons {
      margin-left: 10px; }
  .checkbox-group--horizontal.order-origin-filter .checkbox-group__list--horizontal > div, .checkbox-group--horizontal.repln-groups-filter .checkbox-group__list--horizontal > div {
    flex: 0 0 100%; }
.reports-table .rt-thead {
  z-index: 1;
  color: #353E4A;
  background: white;
  box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.15); }

.reports-table .rt-tbody {
  overflow: initial; }
  .reports-table .rt-tbody .rt-tr-group .review {
    padding: 0;
    font-size: 10px; }
  .reports-table .rt-tbody .rt-tr-group .rt-tr.-odd {
    background: #f3f6f7; }
  .reports-table .rt-tbody .rt-tr-group .rt-tr.-even {
    background: white; }

.reports-table .custom-noData {
  text-align: center; }

.reports-table .custom-ndc-column {
  color: #353e4a;
  cursor: pointer; }

.reports-table.ReactTable .-loading.-active {
  z-index: 1; }

.custom-buttons {
  text-align: center; }
  .custom-buttons span:first-child {
    margin-right: 5px; }
  .custom-buttons .save-icon {
    color: #8AB14E;
    cursor: pointer; }
  .custom-buttons .save-icon-disable {
    color: gray;
    cursor: not-allowed; }
  .custom-buttons .close-icon {
    color: Red;
    cursor: pointer; }
  .custom-buttons .edit-icon {
    color: #8AB14E;
    cursor: pointer; }

.modal-styles .text {
  max-width: 800px; }

.modal-styles h2 {
  max-width: 800px; }

.modal-styles .btn-disabled {
  background: gray;
  border-color: gray;
  cursor: not-allowed; }

.ignore-icon {
  cursor: pointer;
  text-align: center; }
.mixed_use_reports .ReactTable .rt-tbody {
  overflow: auto; }
.ui2-top-header {
  border: none;
  margin-bottom: 20px;
  background: #f3f6f7;
  display: flex;
  flex-direction: column; }
  .ui2-top-header.row {
    margin: 0; }
  .ui2-top-header .title_row {
    margin: 0px 0px 7px 0px; }
  .ui2-top-header .four-part-filter-row {
    display: flex;
    margin: 0;
    margin-bottom: 15px;
    flex-wrap: wrap; }
    .ui2-top-header .four-part-filter-row__selectors.col-md-6 {
      padding: 0%;
      height: fit-content;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start; }
    .ui2-top-header .four-part-filter-row__filters.col-md-6 {
      padding: 0%;
      height: fit-content;
      display: grid;
      grid-auto-flow: column;
      justify-content: flex-start; }
      .ui2-top-header .four-part-filter-row__filters.col-md-6 .tooltip-wrapper {
        display: grid;
        grid-template-columns: minmax(100px, 800px);
        margin-right: 5px; }
      .ui2-top-header .four-part-filter-row__filters.col-md-6 .ui2-date-range-picker--dropdown {
        margin-right: 5px; }
    .ui2-top-header .four-part-filter-row__selectors.col-md-6:has(> div > div:empty) {
      display: none; }
    .ui2-top-header .four-part-filter-row__selectors.col-md-6:empty {
      display: none; }
    .ui2-top-header .four-part-filter-row .four-part-filter-row-footer {
      flex-basis: 100%;
      max-width: 100%;
      width: 100%; }
  .ui2-top-header .action-and-filter-row {
    display: flex;
    margin: 0;
    margin-bottom: 10px;
    flex-wrap: wrap;
    align-items: center; }
    .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column {
      display: flex;
      padding: 0px;
      align-items: center; }
      .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button {
        display: flex;
        padding: 0px;
        flex-wrap: wrap; }
        .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group {
          width: 181.75px; }
          .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group .export__button--action.btn {
            width: 100%;
            margin: 0px; }
          .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group .export__button--dropdown.btn {
            margin: 0px;
            margin-right: 5px; }
        .ui2-top-header .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .btn {
          height: 39px;
          width: 181.75px;
          margin-right: 5px; }
    .ui2-top-header .action-and-filter-row .action-and-filter-row__filter-column {
      display: flex;
      padding: 0px;
      justify-content: flex-end;
      align-items: center; }
      .ui2-top-header .action-and-filter-row .action-and-filter-row__filter-column .search-btn {
        margin-left: 1.5%; }
        .ui2-top-header .action-and-filter-row .action-and-filter-row__filter-column .search-btn .btn {
          height: 39px; }
  .ui2-top-header .information-and-filter-row {
    display: flex;
    margin: 0;
    flex-wrap: wrap; }
    .ui2-top-header .information-and-filter-row .information-and-filter-row_details-column {
      display: flex;
      padding: 0px; }
      .ui2-top-header .information-and-filter-row .information-and-filter-row_details-column .information-label {
        font-size: 14px !important; }
  .ui2-top-header--scrolled {
    position: fixed;
    z-index: 1000;
    right: 0;
    top: 0;
    left: 50px;
    padding: 10px 25px;
    background: #f3f6f7; }
    .ui2-top-header--scrolled .ui2-top-header__title {
      font-size: 20px; }
    .ui2-top-header--scrolled .four-part-filter-row {
      display: flex;
      margin: 0;
      margin-bottom: 15px;
      flex-wrap: wrap; }
      .ui2-top-header--scrolled .four-part-filter-row__selectors.col-md-6 {
        padding: 0%;
        height: fit-content;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start; }
      .ui2-top-header--scrolled .four-part-filter-row__filters.col-md-6 {
        padding: 0%;
        height: fit-content;
        display: grid;
        grid-auto-flow: column;
        justify-content: flex-start; }
        .ui2-top-header--scrolled .four-part-filter-row__filters.col-md-6 .tooltip-wrapper {
          display: grid;
          grid-template-columns: minmax(100px, 800px);
          margin-right: 5px; }
        .ui2-top-header--scrolled .four-part-filter-row__filters.col-md-6 .ui2-date-range-picker--dropdown {
          margin-right: 5px; }
      .ui2-top-header--scrolled .four-part-filter-row__selectors.col-md-6:has(> div > div:empty) {
        display: none; }
      .ui2-top-header--scrolled .four-part-filter-row__selectors.col-md-6:empty {
        display: none; }
      .ui2-top-header--scrolled .four-part-filter-row .four-part-filter-row-footer {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%; }
    .ui2-top-header--scrolled .action-and-filter-row {
      display: flex;
      margin: 0;
      margin-bottom: 10px;
      flex-wrap: wrap;
      align-items: center; }
      .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column {
        display: flex;
        padding: 0px;
        align-items: center; }
        .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button {
          display: flex;
          padding: 0px;
          flex-wrap: wrap; }
          .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group {
            width: 181.75px; }
            .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group .export__button--action.btn {
              width: 100%;
              margin: 0px; }
            .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown.btn-group .export__button--dropdown.btn {
              margin: 0px;
              margin-right: 5px; }
          .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .btn {
            height: 39px;
            width: 181.75px;
            margin-right: 5px; }
      .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__filter-column {
        display: flex;
        padding: 0px;
        justify-content: flex-end;
        align-items: center; }
        .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__filter-column .search-btn {
          margin-left: 1.5%; }
          .ui2-top-header--scrolled .action-and-filter-row .action-and-filter-row__filter-column .search-btn .btn {
            height: 39px; }
    .ui2-top-header--scrolled .information-and-filter-row {
      display: flex;
      margin: 0;
      flex-wrap: wrap; }
      .ui2-top-header--scrolled .information-and-filter-row .information-and-filter-row_details-column {
        display: flex;
        padding: 0px; }
        .ui2-top-header--scrolled .information-and-filter-row .information-and-filter-row_details-column .information-label {
          font-size: 14px !important; }
  .ui2-top-header__title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    text-transform: capitalize;
    color: #35668F;
    margin-top: 5px;
    margin-left: 3px; }
  .ui2-top-header__left {
    flex: 1;
    display: flex; }
  .ui2-top-header__right {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end; }
    .ui2-top-header__right--filters {
      display: flex;
      justify-content: flex-start;
      margin-bottom: 0px !important;
      width: 100%; }
  .ui2-top-header__filters {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    width: 100%;
    padding: 15px 0; }
  .ui2-top-header__footer {
    width: 100%; }
    .ui2-top-header__footer--filters {
      margin-top: -20px; }
      .ui2-top-header__footer--filters > .search-filter.form-group, .ui2-top-header__footer--filters > .btn {
        margin-top: 20px;
        margin-right: 1.5%; }
  .ui2-top-header__export .btn {
    margin-right: 0; }
  .ui2-top-header__export .export__button--action.btn {
    margin: 0px !important; }
  .ui2-top-header__export .btn-export-csv.btn {
    width: 180px !important;
    height: 39px !important; }
  .ui2-top-header__export .export__container {
    width: 180px; }
    .ui2-top-header__export .export__container .export__button--action.btn,
    .ui2-top-header__export .export__container .export__button--dropdown.btn {
      height: 39px !important; }
  .ui2-top-header__claim-error-status-filter {
    display: flex;
    margin-right: 2.5%;
    padding: 0px 0px 0px 25px;
    justify-content: flex-end; }
  .ui2-top-header .form-group.search-input-group {
    margin-bottom: 0;
    margin-top: 0px;
    min-width: 0 !important;
    max-width: 800px !important;
    width: 100%; }
    .ui2-top-header .form-group.search-input-group input {
      height: 39px !important; }
    .ui2-top-header .form-group.search-input-group .icomoon-search {
      top: 9px; }
    .ui2-top-header .form-group.search-input-group .select-search__button--dropdown.btn {
      height: 39px !important; }
  .ui2-top-header .form-group {
    margin-bottom: 0;
    margin-top: 0; }
  .ui2-top-header .ui2-date-range-picker--dropdown input[type="text"] {
    height: 39px !important;
    min-width: 0px !important; }
  .ui2-top-header .ui2-date-range-picker--dropdown .icon-calendar {
    height: 39px !important; }
  .ui2-top-header .select-search__button--dropdown span.select-search--title {
    width: auto; }
  .ui2-top-header .information-row-report {
    margin: 5px 0px 0px 3px; }
    .ui2-top-header .information-row-report span {
      font-weight: bolder; }

html.default body div.container-open .ui2-top-header--scrolled {
  left: 375px !important; }
  @media (max-width: 1630px) {
    html.default body div.container-open .ui2-top-header--scrolled {
      left: 50px !important; } }
.ui2-report-table .report-table-body .report-table-body-row:last-child {
  padding-bottom: 10px; }

.ui2-report-table .ui2-react-table {
  width: 100%;
  height: 90%;
  display: inline-block;
  border-spacing: 0;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0;
  background-color: #FFFFFF; }
  .ui2-report-table .ui2-react-table__row {
    border-bottom: 1px solid #ACACAC; }
    .ui2-report-table .ui2-react-table__row:nth-child(even) {
      background-color: #F4F6F7; }
  .ui2-report-table .ui2-react-table__thead--row {
    border-bottom: solid 2px #ACACAC; }
  .ui2-report-table .ui2-react-table__tbody {
    height: calc(100% - 42px); }
  .ui2-report-table .ui2-react-table__th, .ui2-report-table .ui2-react-table__td {
    margin: 0;
    padding: 0.5rem;
    position: relative;
    padding: 5px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    white-space: nowrap; }
    .ui2-report-table .ui2-react-table__th :last-child, .ui2-report-table .ui2-react-table__td :last-child {
      border-right: 0; }
    .ui2-report-table .ui2-react-table__th .resizer, .ui2-report-table .ui2-react-table__td .resizer {
      display: inline-block;
      background: #fafafa;
      width: 2px;
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      transform: translateX(50%);
      z-index: 1;
      touch-action: none; }
      .ui2-report-table .ui2-react-table__th .resizer.isResizing, .ui2-report-table .ui2-react-table__td .resizer.isResizing {
        background: #d3d3d3; }
  .ui2-report-table .ui2-react-table__th {
    padding: 10px 7px 10px 14px;
    font-weight: bold;
    font-size: 14px;
    border-top: 1px solid #eeeeee; }
    .ui2-report-table .ui2-react-table__th--cell {
      display: flex;
      justify-content: space-between; }
      .ui2-report-table .ui2-react-table__th--cell .sort-btn {
        background: none;
        padding: 0;
        outline: none;
        border: none; }
      .ui2-report-table .ui2-react-table__th--cell .icon-sort {
        color: #d3d3d3; }
      .ui2-report-table .ui2-react-table__th--cell .icon-sort,
      .ui2-report-table .ui2-react-table__th--cell .icon-sort-up,
      .ui2-report-table .ui2-react-table__th--cell .icon-sort-down {
        cursor: pointer; }
  .ui2-report-table .ui2-react-table__td {
    padding: 7px 5px 7px 14px;
    font-weight: normal; }
  .ui2-report-table .ui2-react-table__wrapper {
    display: block; }
  .ui2-report-table .ui2-react-table__no-data {
    display: flex;
    justify-content: center;
    padding: 50px;
    margin-top: 25px;
    font-size: 36px;
    text-align: center;
    color: #929292; }
  .ui2-report-table .ui2-react-table__wrapper {
    position: relative; }
    .ui2-report-table .ui2-react-table__wrapper .pagination-bottom {
      height: 10%;
      background-color: #f3f6f7; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .pagination {
        display: flex;
        flex-wrap: wrap;
        height: 100%; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .previous {
        flex: 1 1;
        text-align: center;
        height: 100%; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .center {
        flex: 1.5 1;
        text-align: center;
        margin-bottom: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around; }
        .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .center select {
          border: 1px solid rgba(0, 0, 0, 0.1);
          background: #fff;
          padding: 5px 7px;
          font-size: inherit;
          border-radius: 3px;
          font-weight: normal;
          outline-width: 0; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .pageInfo {
        display: inline-block;
        margin: 3px 10px;
        white-space: nowrap; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .pageJump {
        display: inline-block;
        margin: 0px 5px; }
        .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .pageJump input {
          width: 70px;
          text-align: center; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .totalPages {
        margin: 0px 5px; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .next {
        flex: 1 1;
        text-align: center; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .-btn {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        border-radius: 3px;
        padding: 6px;
        font-size: 1em;
        color: rgba(0, 0, 0, 0.6);
        background: rgba(0, 0, 0, 0.1);
        -webkit-transition: all .1s ease;
        -o-transition: all .1s ease;
        transition: all .1s ease;
        cursor: pointer;
        outline-width: 0; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .-btn[disabled] {
        opacity: .5;
        cursor: default; }
      .ui2-report-table .ui2-react-table__wrapper .pagination-bottom .-btn:not([disabled]):hover {
        background: rgba(0, 0, 0, 0.3);
        color: #fff; }
    .ui2-report-table .ui2-react-table__wrapper .loading {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: rgba(255, 255, 255, 0.8);
      transition: all .3s ease;
      z-index: 1;
      opacity: 1;
      pointer-events: none; }
    .ui2-report-table .ui2-react-table__wrapper .inactive {
      display: none; }
    .ui2-report-table .ui2-react-table__wrapper .inner {
      position: absolute;
      display: block;
      text-align: center;
      width: 100%;
      top: 50%;
      left: 0;
      font-size: 15px;
      color: rgba(0, 0, 0, 0.6);
      transform: translateY(-52%);
      transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.ui2-report-table .ps__scrollbar-y-rail {
  opacity: 1; }
  .ui2-report-table .ps__scrollbar-y-rail .ps__scrollbar-y {
    width: inherit !important; }

.ui2-report-table .ps__scrollbar-x-rail {
  opacity: 1; }
  .ui2-report-table .ps__scrollbar-x-rail .ps__scrollbar-x {
    height: inherit !important; }

.captured-claims-ui2-button-link {
  background: none;
  border: none;
  color: #2EB398;
  outline: none; }
.order-details-modal.modal-dialog {
  width: 90%; }
  .order-details-modal.modal-dialog .contract-order {
    padding: 0; }
  .order-details-modal.modal-dialog .container-fluid {
    padding: 0; }
.side-drawer__wrapper {
  height: 100%;
  background: white;
  box-shadow: 1px 0px 7px rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  right: 0;
  width: 500px;
  max-width: 500px;
  z-index: 1001;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  justify-content: space-between;
  display: flex;
  flex-direction: column; }
  .side-drawer__wrapper > header {
    padding: 0 15px;
    height: 50px;
    flex: 0 0 50px; }
    .side-drawer__wrapper > header.filters-header {
      color: #41658C; }

.side-drawer__body {
  flex: 1 1;
  max-height: calc(100% - 120px); }
  .side-drawer__body header {
    padding: 0;
    font-weight: 600;
    border-bottom: 1px solid #E6E6E6;
    padding-bottom: 7px; }
  .side-drawer__body section {
    margin-bottom: 10px; }

.side-drawer__footer {
  flex: 0 0 70px;
  height: 70px;
  padding: 10px 15px; }

.side-drawer.open .side-drawer__wrapper {
  transform: translateX(0); }

.side-drawer.open .side-drawer__backdrop {
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }

.side-drawer__button.btn {
  padding: 2px 10px;
  color: #1A1A1A;
  background-color: #E6E6E6;
  border-color: #E6E6E6; }
  .side-drawer__button.btn:hover, .side-drawer__button.btn:active, .side-drawer__button.btn:focus {
    color: #1A1A1A;
    background-color: #ced0d2;
    border-color: #ced0d2; }

.side-drawer__button--icon {
  max-width: 30px;
  height: 80%;
  margin-left: 25px; }
.side-drawer__body .filters-body {
  padding: 15px;
  height: 100%;
  display: flex;
  flex-direction: column; }

.side-drawer__filters .filters-body--scroll {
  padding: 15px; }

.side-drawer__filters .order-status-filter--scroll {
  max-height: 300px; }

.side-drawer__filters .order-origin-filter--scroll, .side-drawer__filters .repln-groups-filter--scroll {
  max-height: 200px; }

.side-drawer__filters .repl-group-select {
  margin-right: -1.5%; }

.side-drawer__filters .location-select__list {
  max-height: 250px; }

.side-drawer__filters__buttons {
  display: flex; }
  .side-drawer__filters__buttons .btn + .btn {
    margin-left: 15px; }
  .side-drawer__filters__buttons--cancel.btn-danger, .side-drawer__filters__buttons--cancel.btn-danger:active, .side-drawer__filters__buttons--cancel.btn-danger:focus {
    background-color: #ff3d00;
    border-color: #ff3d00;
    font-weight: 400; }
  .side-drawer__filters__buttons--cancel.btn-danger:hover {
    background-color: #e83902;
    border-color: #e83902; }
  .side-drawer__filters__buttons--save {
    width: 185px; }
  .side-drawer__filters__buttons--save.btn-default, .side-drawer__filters__buttons--save.btn-default:active, .side-drawer__filters__buttons--save.btn-default:focus {
    background-color: #358f6f;
    border-color: #358f6f;
    font-weight: 400; }
  .side-drawer__filters__buttons--save.btn-default:hover {
    background-color: #2c795e;
    border-color: #2c795e; }

.side-drawer__filters__header {
  display: flex;
  justify-content: space-between; }
  .side-drawer__filters__header--right .btn-default, .side-drawer__filters__header--right .btn-default:active, .side-drawer__filters__header--right .btn-default:focus {
    border: none;
    background: none;
    padding: 0;
    height: auto;
    font-size: 14px;
    color: #41658C;
    display: inline;
    border-radius: 0;
    border-bottom: 1px solid transparent; }
  .side-drawer__filters__header--right .btn-default:hover {
    color: #35668F;
    background: none;
    border-color: #c1d0dc; }
  .side-drawer__filters__header--right .btn + .btn {
    margin-left: 10px; }

.side-drawer__filters__search--input.form-group {
  width: 100%;
  margin: 5px 0; }
  .side-drawer__filters__search--input.form-group input {
    height: 40px !important;
    padding-left: 50px; }
  .side-drawer__filters__search--input.form-group .icomoon-search {
    top: 10px;
    left: 15px; }

.side-drawer__filters--section {
  display: flex;
  flex-direction: column; }
  .side-drawer__filters--section.filters-3 {
    height: calc((100% - 3 * 15px) / 3); }
  .side-drawer__filters--section.filters-4 {
    height: calc((100% - 4 * 15px) / 4); }
  .side-drawer__filters--section.repln-groups-filter {
    flex: 1; }

.side-drawer__button.btn.touched {
  color: #FFFFFF;
  background-color: #35668F;
  border-color: #35668F; }
  .side-drawer__button.btn.touched:hover, .side-drawer__button.btn.touched:active, .side-drawer__button.btn.touched:focus {
    color: #FFFFFF;
    background-color: #0091C4;
    border-color: #0091C4; }
.info-tooltip-icon-img {
  height: 10px;
  display: flex;
  margin-left: auto;
  margin-bottom: 2px; }

.tooltip-wrapper {
  margin-top: 5px; }
.ui2-reports-table__wrapper {
  height: 500px; }

.contractrx-reports .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.contractrx-reports .ui2-top-headers-left {
  flex: 1; }

.captured_claims_ui2-reports-table {
  background-color: white; }
  .captured_claims_ui2-reports-table .rt-td {
    text-align: center; }
  .captured_claims_ui2-reports-table .rt-th {
    font-weight: bold; }

.reports-export-btn {
  width: 190px; }
.selectors {
  display: grid;
  grid-auto-flow: column; }
  .selectors .hide-checkbox input[type=checkbox] {
    display: none; }
  .selectors .selector-group {
    display: flex; }
  .selectors .selector-groups {
    margin: 5px 5px 0px 0px !important;
    display: grid;
    grid-template-columns: minmax(100px, 500px); }
  .selectors .selector-groups > div button + div {
    z-index: 6 !important;
    width: 100%;
    min-width: fit-content; }
  .selectors .selector-groups:last-child {
    flex: 1; }
  .selectors .submit-btn {
    height: 39px; }
  .selectors .btn-grp span {
    margin-top: 12px; }
  .selectors .icon-img {
    filter: brightness(0) saturate(100%) invert(35%) sepia(46%) saturate(562%) hue-rotate(165deg) brightness(95%) contrast(94%);
    height: 10px;
    display: flex;
    margin-left: auto;
    margin-bottom: 2px; }
  .selectors .selector-groups .css-3aqal1,
  .selectors .selector-groups .css-19t1j3i {
    border-radius: 8px;
    border: 1px solid #cdcdcd;
    box-shadow: none; }

.validation-msg {
  margin: 5px 0px;
  color: #de1927; }

.margin-0 {
  margin: 0px !important; }

.padding-0 {
  padding: 0px !important; }
.orphan_buttons {
  display: flex;
  justify-content: right;
  margin-right: 25px;
  margin-bottom: 20px; }
.details-modal.modal-dialog {
  width: 50% !important; }
  .details-modal.modal-dialog .contract-order {
    padding: 0; }
  .details-modal.modal-dialog .container-fluid {
    padding: 0; }
  .details-modal.modal-dialog .card-box.open:last-child {
    margin-bottom: 0; }

.requestAdjustmentBtnContainer {
  position: relative;
  display: inline-flex;
  gap: 0px 25px; }

.new-orders-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }

.wrapperRow {
  padding: 0px 20px 20px 20px; }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: start !important;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 25px; }

.claimReversalForm {
  min-height: 300px; }

.reversalErrors {
  background-color: #bd362f;
  padding: 10px 12px 10px 5px;
  border-radius: 5px;
  position: absolute;
  top: -105px;
  right: 5px;
  display: flex; }

.reversalErrors li {
  color: #ffffff; }

.reversalErrors ul {
  margin: 0px;
  padding-left: 18px; }

.reversalErrorsIcon {
  align-self: center;
  font-size: 32px;
  color: white !important; }

.apiErrorContainer {
  align-self: center; }
.bucket-type {
  padding: 17px 15px 15px 15px;
  position: relative;
  display: flex;
  justify-content: center; }
  .bucket-type:before {
    content: '';
    position: absolute;
    width: 1px;
    height: calc(100% - (17px + 15px));
    left: 0;
    background: #99a0ab; }
.requestAdjustmentBtnContainer {
  position: relative;
  display: inline-flex;
  gap: 0px 25px; }

.new-orders-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }

.wrapperRow {
  padding: 0px 20px 20px 25px; }

.claimReversalScreen .claimReversal__table-container {
  padding: 0px; }

.claimReversalScreen .wrapperRow.table-wrapper {
  padding: 0px 20px 20px 25px; }

.claimReversalScreen .wrapperRow.requestAdjustmentBtnContainer {
  padding-left: 0px; }

.claimReversalScreen .claimReversalForm {
  min-height: 0px !important;
  padding-right: 10%; }
  .claimReversalScreen .claimReversalForm .claim-reversal-flex-styles {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start; }
  .claimReversalScreen .claimReversalForm .form-group {
    margin-bottom: 0;
    margin-top: 0px;
    min-width: 0 !important; }
  .claimReversalScreen .claimReversalForm .claimReversal__first-row {
    margin-bottom: 15px; }
    .claimReversalScreen .claimReversalForm .claimReversal__first-row .first-row-left-panel {
      width: 45%; }
    .claimReversalScreen .claimReversalForm .claimReversal__first-row .first-row-right-panel {
      width: 55%; }
    .claimReversalScreen .claimReversalForm .claimReversal__first-row .rxNumber-blockFutureRefills-wrapper {
      display: flex;
      flex-direction: column;
      height: 65px;
      position: relative;
      flex: 0.55; }
    .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles {
      margin-right: 5px; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles .control-label {
        color: #35668F;
        font-weight: 900; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.claimId {
        flex: 0.94; }
        .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.claimId input {
          height: 39px !important; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.rxNumber {
        flex: 1; }
        .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.rxNumber input {
          height: 39px !important; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.blockFutureRefills {
        flex: 1;
        display: flex; }
        .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.blockFutureRefills .checkbox-label {
          margin: 5px 0px 5px 0px; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.adjustmentType {
        flex: 1.3; }
        .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.adjustmentType .react-select__control {
          height: 39px;
          border-radius: 8px;
          box-shadow: none;
          min-height: 0px; }
      .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.adjustmentReason {
        flex: 1.3; }
        .claimReversalScreen .claimReversalForm .claimReversal__first-row .form-controller-styles.adjustmentReason .react-select__control {
          height: 39px;
          border-radius: 8px;
          box-shadow: none;
          min-height: 0px; }
  .claimReversalScreen .claimReversalForm .claimReversal__second-row {
    margin-bottom: 20px; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .second-row-left-panel {
      width: 45%; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .second-row-right-panel {
      width: 55%; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .claimReversal-action-button .tooltip-wrapper.claimReversal__add-claims-button {
      margin-right: 5px;
      margin: 0px 5px 0px 0px; }
      .claimReversalScreen .claimReversalForm .claimReversal__second-row .claimReversal-action-button .tooltip-wrapper.claimReversal__add-claims-button .btn {
        margin-right: 5px;
        height: 39px;
        width: 180px; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .claimReversal-action-button .claimReversal__import-claims-button.btn {
      margin: 12px 10px 0px 0px;
      height: 39px;
      width: 180px; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .claimReversal-action-button .info-icon-container {
      margin-right: 10px; }
    .claimReversalScreen .claimReversalForm .claimReversal__second-row .comments-wrapper .form-controller-styles.comments {
      flex: 1; }
      .claimReversalScreen .claimReversalForm .claimReversal__second-row .comments-wrapper .form-controller-styles.comments .control-label {
        color: #35668F;
        font-weight: 900; }
      .claimReversalScreen .claimReversalForm .claimReversal__second-row .comments-wrapper .form-controller-styles.comments textarea {
        height: 65px; }

.claimReversalScreen .addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .claimReversalScreen .addButtonWrapper button {
    margin: 25px 0px 25px 15px; }
  .claimReversalScreen .addButtonWrapper .info-icon-container {
    margin: 35px 20px 35px 15px; }
    .claimReversalScreen .addButtonWrapper .info-icon-container .icomoon-support:before {
      font-weight: bold; }

.reversalErrors {
  background-color: #bd362f;
  padding: 10px 12px 10px 5px;
  border-radius: 5px;
  position: absolute;
  top: -105px;
  right: 5px;
  display: flex; }

.reversalErrors li {
  color: #ffffff; }

.reversalErrors ul {
  margin: 0px;
  padding-left: 18px; }

.reversalErrorsIcon {
  align-self: center;
  font-size: 32px;
  color: white !important; }

.apiErrorContainer {
  align-self: center; }

.claimReversalScreen .loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  background-color: rgba(255, 255, 255, 0.5); }

.responseReportsModal .modal-msg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center; }
  .responseReportsModal .modal-msg .modal-buttons {
    display: flex;
    justify-content: space-between; }
  .responseReportsModal .modal-msg button {
    margin: 20px; }

.alert-info {
  display: flex;
  align-items: center; }
  .alert-info .remove-btn {
    margin-left: 10px; }

.modal-msg.closeSubmissionModal {
  background-color: transparent; }
  .modal-msg.closeSubmissionModal h2 {
    font-size: 28px; }
  .modal-msg.closeSubmissionModal .text {
    font-size: 18px; }
.drug-info {
  padding: 10px 10px 10px 30px;
  width: 501px; }
  .drug-info__header {
    display: flex;
    flex-wrap: nowrap; }
  .drug-info__title {
    font-size: 20px;
    font-weight: bold;
    color: #353e4a;
    word-break: break-all;
    float: left; }
  .drug-info__price {
    margin-left: 20px;
    background: #353e4a;
    color: #ffffff;
    padding: 4px;
    text-align: center;
    border-radius: 7px;
    float: left;
    font-weight: bold;
    height: 30px; }
  .drug-info__section {
    flex-wrap: wrap;
    display: inline-flex; }
  .drug-info__detail {
    width: calc(100%/3);
    margin-top: 15px; }
  .drug-info__label {
    font-size: 15px;
    color: #99a0ab;
    font-weight: bold; }
  .drug-info__number {
    font-size: 16px; }
  .drug-info__bucket-badge {
    color: white;
    padding: 5px 10px;
    margin-left: 20px;
    background: #35668F;
    font-size: 14px;
    height: 30px;
    border-radius: 5px;
    font-weight: 600; }
.bucket-types__wrapper {
  flex: 1;
  display: flex;
  flex-direction: row;
  justify-content: flex-end; }
  .bucket-types__wrapper.buckets-types-col-1 .bucket-type {
    width: calc(100% / 1);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-2 .bucket-type {
    width: calc(100% / 2);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-3 .bucket-type {
    width: calc(100% / 3);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-4 .bucket-type {
    width: calc(100% / 4);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-5 .bucket-type {
    width: calc(100% / 5);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-6 .bucket-type {
    width: calc(100% / 6);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-7 .bucket-type {
    width: calc(100% / 7);
    max-width: 170px; }
  .bucket-types__wrapper.buckets-types-col-8 .bucket-type {
    width: calc(100% / 8);
    max-width: 170px; }
.accumulator-search-input {
  margin-top: 0px !important; }

.accumulation-page .ui2-top-header__right--filters {
  justify-content: flex-end;
  margin-bottom: 20px !important; }

.card-boxes--accumulation {
  margin-top: 2em; }
  .card-boxes--accumulation .card-box__content {
    display: flex; }
    .card-boxes--accumulation .card-box__content .drug-info {
      width: 700px; }
    .card-boxes--accumulation .card-box__content .drug-info--wide {
      width: 700px !important; }
    .card-boxes--accumulation .card-box__content--raw .drug-info--wide {
      width: 100% !important; }
    .card-boxes--accumulation .card-box__content--raw .drug-info__detail {
      width: calc(100%/6); }
  .card-boxes--accumulation .card-box__bucket-wrapper {
    width: calc(100% - 700px); }
  .card-boxes--accumulation .card-box .bucket-type {
    align-self: center; }
.modal-msg {
  position: fixed; }

#fixed-top-searchbar.scrolled {
  z-index: 1; }
.claim-info__label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: bold; }

.claim-info__content__red {
  color: red;
  font-weight: bold; }
.details-table {
  width: 100%; }
  .details-table__title {
    border-bottom: solid 1px #808080;
    padding: 10px 7px; }
    .details-table__title.has-error {
      color: #DF5536; }
  .details-table__additional-data .details-table__title {
    font-weight: bold; }
  .details-table__additional-data .details-table__row:nth-child(even) {
    background-color: #ffffff; }
  .details-table__additional-data .details-table__row:nth-child(odd) {
    background-color: #F4F6F7; }
  .details-table td {
    padding: 10px 7px;
    word-break: break-word; }
  .details-table__row {
    border-bottom: 1px solid #ACACAC; }
    .details-table__row:nth-child(even) {
      background-color: #F4F6F7; }
    .details-table__row--grayed {
      color: #ACACAC; }
  .details-table__cell--row-title {
    color: #808080;
    font-weight: bold; }
  .details-table__cell--grayed {
    color: #ACACAC; }
  .details-table__cell--has-error {
    color: #DF5536; }
  .details-table__cell__details__label {
    margin-right: 7px;
    font-weight: bold; }
  .details-table--location, .details-table--provider {
    width: unset;
    flex: 1 1 500px;
    margin: 15px; }

.title-with-icon:before {
  content: '';
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  padding-left: 30px;
  background-position-x: 0;
  padding-top: 0px;
  width: 26px;
  height: 24px; }

.title-with-icon--provider:before {
  background-image: url("/imgs/provider-icon.png"); }

.title-with-icon--location:before {
  background-image: url("/imgs/location-icon.png");
  background-size: 80%; }
.tooltip span {
  display: block; }

.ui2-status-box {
  padding: 0 10px 0 20px;
  flex-basis: 300px;
  border-left: #E6E6E6;
  position: relative;
  justify-content: center;
  margin-left: auto;
  margin-top: -10px; }
  .ui2-status-box__error-icons {
    display: inline-block;
    vertical-align: top;
    font-size: 30px;
    margin-right: 15px;
    margin-top: 10px;
    color: #CB3E2D; }
  .ui2-status-box + .ui2-status-box {
    margin-left: 0; }
  .ui2-status-box--empty:before, .ui2-status-box--empty:after {
    display: none; }
  .ui2-status-box:before {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    left: 0;
    background: #E6E6E6; }
  .ui2-status-box__header {
    display: flex; }
  .ui2-status-box__title {
    width: max-content;
    font-size: 20px;
    font-weight: bold;
    color: #353e4a;
    margin-right: 20px; }
  .ui2-status-box__info {
    font-size: 15px;
    color: #99a0ab;
    font-weight: bold; }
  .ui2-status-box__progress-bar {
    width: 100%; }
  .ui2-status-box__progress-bar-text {
    font-weight: bold; }
  .ui2-status-box__no-data {
    color: #DB2851;
    font-weight: bold; }
  .ui2-status-box__icon {
    height: 30px;
    width: 30px;
    margin-right: 15px;
    margin-top: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block; }
    .ui2-status-box__icon--patient-success {
      background-image: url("/imgs/eligibility-status/patient-success.png"); }
    .ui2-status-box__icon--patient-partial {
      background-image: url("/imgs/eligibility-status/patient-partial.png"); }
    .ui2-status-box__icon--patient-not-considered {
      background-image: url("/imgs/eligibility-status/patient-not-considered.png"); }
    .ui2-status-box__icon--provider-success {
      background-image: url("/imgs/eligibility-status/provider-success.png"); }
    .ui2-status-box__icon--provider-failure {
      background-image: url("/imgs/eligibility-status/provider-failure.png"); }
    .ui2-status-box__icon--provider-not-considered {
      background-image: url("/imgs/eligibility-status/provider-not-considered.png"); }
    .ui2-status-box__icon--location-success {
      background-image: url("/imgs/eligibility-status/location-success.png"); }
    .ui2-status-box__icon--location-failure {
      background-image: url("/imgs/eligibility-status/location-failure.png"); }
    .ui2-status-box__icon--location-not-considered {
      background-image: url("/imgs/eligibility-status/location-not-considered.png"); }
    .ui2-status-box__icon--date-success {
      background-image: url("/imgs/eligibility-status/date-success.png"); }
    .ui2-status-box__icon--date-partial {
      background-image: url("/imgs/eligibility-status/date-partial.png"); }
    .ui2-status-box__icon--date-failure {
      background-image: url("/imgs/eligibility-status/date-failure.png"); }
    .ui2-status-box__icon--date-not-considered {
      background-image: url("/imgs/eligibility-status/date-not-considered.png"); }
    .ui2-status-box__icon--ndc-success {
      background-image: url("/imgs/eligibility-status/ndc-success.png"); }
    .ui2-status-box__icon--ndc-failure {
      background-image: url("/imgs/eligibility-status/ndc-failure.png"); }
    .ui2-status-box__icon--ndc-not-considered {
      background-image: url("/imgs/eligibility-status/ndc-not-considered.png"); }
    .ui2-status-box__icon--product-success {
      background-image: url("/imgs/eligibility-status/product-success.png"); }
    .ui2-status-box__icon--product-failure {
      background-image: url("/imgs/eligibility-status/product-failure.png"); }
    .ui2-status-box__icon--bin-success {
      background-image: url("/imgs/eligibility-status/bin-success.png"); }
    .ui2-status-box__icon--bin-partial {
      background-image: url("/imgs/eligibility-status/bin-partial.png"); }
    .ui2-status-box__icon--bin-failure {
      background-image: url("/imgs/eligibility-status/bin-failure.png"); }
    .ui2-status-box__icon--cost-success {
      background-image: url("/imgs/eligibility-status/cost-success.png"); }
    .ui2-status-box__icon--cost-failure {
      background-image: url("/imgs/eligibility-status/cost-failure.png"); }
    .ui2-status-box__icon--brandOnlyRule-failure {
      background-image: url("/imgs/eligibility-status/brandOnlyRule-failure.png"); }
    .ui2-status-box__icon--otcBasedExclusion-failure {
      background-image: url("/imgs/eligibility-status/otcBasedExclusion-failure.png"); }
    .ui2-status-box__icon--brandOnlyRule-success {
      background-image: url("/imgs/eligibility-status/brandOnlyRule-success.png"); }
    .ui2-status-box__icon--otcBasedExclusion-success {
      background-image: url("/imgs/eligibility-status/otcBasedExclusion-success.png"); }
    .ui2-status-box__icon--productNotFound-failure {
      background-image: url("/imgs/eligibility-status/product-not-found-failure.png"); }
    .ui2-status-box__icon--productNotFound-success {
      background-image: url("/imgs/eligibility-status/product-not-found-success.png"); }
.ui2.approve-claim {
  margin-bottom: 15px;
  min-height: 82px; }

.ui2 .download-icon {
  padding-left: 10px; }

.ui2 .approve-claim__title {
  font-weight: bold;
  font-size: 16px;
  margin-top: 15px;
  margin-bottom: 15px; }

.ui2 .approve-claim__body {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }

.ui2 .approve-claim__info-text {
  text-align: center;
  width: 65%;
  min-width: 400px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 30px; }
  .ui2 .approve-claim__info-text > img {
    width: 60px;
    height: 60px;
    display: block;
    margin: 0 auto 25px auto;
    overflow: hidden; }

.ui2 .approve-claim__desc {
  width: 25%;
  min-width: 380px;
  margin-right: 15px; }

.ui2 .approve-claim__reason-input {
  margin-bottom: 0;
  margin-right: 15px;
  min-width: 350px;
  width: 30%; }
  .ui2 .approve-claim__reason-input > .control-label {
    margin: 0; }
  .ui2 .approve-claim__reason-input > input,
  .ui2 .approve-claim__reason-input > .form-control {
    border: 2px solid #D1D1D1 !important;
    border-radius: 4px !important;
    height: 45px;
    color: #353e4a !important; }

.ui2 .approve-claim__upload-file-btn {
  background-color: #35668F;
  color: white;
  padding-left: 35px !important;
  padding-right: 35px !important;
  text-align: center;
  border: none;
  transition: all 0.3s ease;
  border-radius: 4px;
  width: 200px;
  margin-right: 15px;
  position: relative; }
  .ui2 .approve-claim__upload-file-btn:hover, .ui2 .approve-claim__upload-file-btn:focus {
    background-color: #0091C4; }
  .ui2 .approve-claim__upload-file-btn > input {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer; }
  .ui2 .approve-claim__upload-file-btn > span {
    position: absolute;
    top: 11px;
    right: 8px; }

.ui2 .approve-claim__approve-btn {
  background-color: #86D3C4;
  color: white;
  padding-left: 35px !important;
  padding-right: 35px !important;
  text-align: center;
  border: none;
  transition: all 0.3s ease;
  border-radius: 4px; }
  .ui2 .approve-claim__approve-btn:hover, .ui2 .approve-claim__approve-btn:focus {
    background-color: #0091C4; }

.ui2 .approve-claim__review-btn {
  background-color: #F9A393;
  color: white;
  padding-left: 35px !important;
  padding-right: 35px !important;
  text-align: center;
  border: none;
  transition: all 0.3s ease;
  border-radius: 4px; }
  .ui2 .approve-claim__review-btn:hover, .ui2 .approve-claim__review-btn:focus {
    background-color: #e4715c; }
.erx-form__footer {
  display: flex;
  justify-content: flex-end; }
  .erx-form__footer button:not(:first-child) {
    margin-left: 12px; }

.new-erx-form .form-group {
  height: 85px; }

.new-erx-form .add_button {
  background-color: #45c6f3;
  color: white;
  border: none;
  width: 100%;
  transition: all 0.3s ease;
  text-align: center; }
  .new-erx-form .add_button:hover {
    background: #7AD7F7; }
  .new-erx-form .add_button input {
    cursor: pointer; }

.new-erx-form .add_file__clear-button {
  position: absolute;
  right: 35px;
  top: 50%;
  width: 25px;
  height: 25px;
  transform: translateY(-50%); }

.new-erx-form .force_eligibility {
  margin-top: 30px; }
  .new-erx-form .force_eligibility input[name=reason] {
    margin-top: -5px; }

.new-erx-form button[type=submit] {
  width: 120px; }
  .new-erx-form button[type=submit] .submit-in-btn.rxs-spinner {
    margin-top: 0; }
    .new-erx-form button[type=submit] .submit-in-btn.rxs-spinner > div {
      background-color: white; }
.tooltip-wrapper.claims-review-search-input .select-search.search-input-group.claims-review-search-input {
  min-width: 0px; }
  .tooltip-wrapper.claims-review-search-input .select-search.search-input-group.claims-review-search-input .select-search__button--dropdown.btn {
    height: 39px !important;
    top: 0px !important; }
  .tooltip-wrapper.claims-review-search-input .select-search.search-input-group.claims-review-search-input .input-group input[type="text"] {
    min-width: 0px; }

.tooltip-wrapper.claims-review-search-input .select-search__button--dropdown span.select-search--title {
  width: 85px; }

.tooltip-wrapper.claims-review-search-input .select-search.form-group.search-input-group .btn-clear {
  right: 130px; }

.toggle-btn {
  margin: 0px 10px; }

.claims-review .repln-groups-filter {
  margin-bottom: 20px !important; }
  .claims-review .repln-groups-filter .search-input-group {
    width: 100%;
    margin: 10px 0px; }

.claims-review .without-rpg-search-button {
  margin-top: 15px; }

.claims-review .with-rpg-disabled .side-drawer__body {
  max-height: calc(100% - 160px); }

.claims-review .with-rpg-disabled .side-drawer__footer {
  flex: 0 0 110px; }
  .claims-review .with-rpg-disabled .side-drawer__footer .without-rpg-warning {
    margin-bottom: 10px; }

.date-picker .date-form {
  position: fixed;
  transform: translate(-20%, -70%); }

.ui2-top-header__filters {
  margin-top: 15px; }

.refill-search .form {
  width: 200px !important;
  min-width: 200px !important; }

.claimsList-DatePicker {
  margin-top: auto;
  margin-right: 1%; }

.ui2-date-range-picker--dropdown__body {
  z-index: 9999; }

@media screen and (min-width: 1100px) {
  .claimsList-DatePicker .ui2-date-range-picker--dropdown__header input {
    min-width: 215px; } }

.claim-reviewed-filter .checkbox-group__list {
  display: inline-block !important; }

.claim-referral-filter .checkbox-group__list {
  display: inline-block !important; }

.claims-tool-tip {
  margin-right: 1%;
  margin-bottom: 1%; }

.claim-error-status-filter-separator {
  height: 90%;
  border-left: 1px solid #E6E6E6;
  position: relative;
  top: 50%;
  transform: translateY(-60%); }

.export-button--wrapper {
  margin-left: 10px; }

.tooltip-wrapper.claims-review-refill-search {
  margin-right: 5px; }

.claims-review-refill-search-order-by-wrapper {
  display: flex;
  align-items: flex-end;
  width: 71%; }
  .claims-review-refill-search-order-by-wrapper .tooltip-wrapper.claims-review-refill-search {
    margin-top: -12px;
    flex: 1.5; }
  .claims-review-refill-search-order-by-wrapper .tooltip-wrapper.claims-review-order-by-search {
    margin-top: -12px;
    flex: 1; }
  .claims-review-refill-search-order-by-wrapper .tooltip-wrapper.claims-review-order-by-search .react-select__control {
    height: 38px;
    width: 100%;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }

.container-open #body.contract_rx .claims-review .claims-review-refill-search-order-by-wrapper {
  width: 63%; }
.claim-error-status-filter--eligibilityStatus {
  padding: 0px 10px 0px 15px; }

.claim-error-status-filter--qualificationStatus {
  padding: 0px 10px 0px 20px; }

.claim-error-status-filter__title {
  font-size: 15px;
  color: black;
  font-weight: bolder; }

.claim-error-status-filter__button-group {
  display: flex;
  margin-bottom: 15px; }

.claim-error-status-filter__button-wrapper {
  margin: 5px 15px 0px 0px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: 30px !important;
  height: 30px !important;
  cursor: pointer !important; }
  .claim-error-status-filter__button-wrapper .btn {
    margin: 5px 15px 0px 0px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
    cursor: pointer !important; }

.claim-error-status-filter__button_img {
  height: 30px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.claim-error-status-filter__button_img_clicked {
  height: 30px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  filter: brightness(0) saturate(99%) invert(32%) sepia(50%) saturate(3223%) hue-rotate(345deg) brightness(74%) contrast(80%); }
.dispensation-header {
  padding: 10px 30px;
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 1366px) {
    .dispensation-header {
      flex-wrap: nowrap; } }
  @media (min-width: 640px) {
    .dispensation-header {
      justify-content: space-between; } }
  @media (max-width: 640px) {
    .dispensation-header {
      flex-direction: column;
      align-items: center; } }
  .dispensation-header .force-eligibility {
    margin-top: 10px;
    width: 501px; }
    .dispensation-header .force-eligibility .force-eligibility__buttons {
      display: flex;
      justify-content: space-between; }
      .dispensation-header .force-eligibility .force-eligibility__buttons > .btn {
        width: 47%;
        margin-top: 10px;
        position: relative; }
    .dispensation-header .force-eligibility .force-eligibility__clear-button {
      position: absolute;
      right: 0;
      top: 50%;
      width: 25px;
      height: 25px;
      transform: translateY(-50%); }
  .dispensation-header .clear-input {
    position: relative; }
    @media (max-width: 1151px) {
      .dispensation-header .clear-input {
        width: 50%; } }
    @media (max-width: 640px) {
      .dispensation-header .clear-input {
        width: 100%;
        margin-bottom: 15px; } }
    .dispensation-header .clear-input input {
      outline: 0;
      width: 565px;
      height: 45px;
      border-radius: 8px;
      border: 1px solid #CDCDCD;
      padding: 0 20px; }
      @media (min-width: 1152px) {
        .dispensation-header .clear-input input {
          width: 360px; } }
      .dispensation-header .clear-input input.search-active {
        padding-right: 80px; }
    .dispensation-header .clear-input button {
      top: 8px;
      right: 8px;
      padding: 0;
      outline: 0;
      margin-top: 5px; }
      .dispensation-header .clear-input button.disabled {
        display: none; }
      .dispensation-header .clear-input button.clear_button {
        position: absolute; }
  .dispensation-header .eligibility_errors {
    width: 501px;
    margin-top: 10px;
    padding-left: 30px; }
    .dispensation-header .eligibility_errors .errors_title {
      font-size: 20px;
      font-weight: bold; }
    .dispensation-header .eligibility_errors .single-error {
      display: flex;
      font-weight: bold;
      font-size: 13px;
      padding-bottom: 10px; }
      .dispensation-header .eligibility_errors .single-error-heading {
        padding: 0 0 5px 0; }
      .dispensation-header .eligibility_errors .single-error__code {
        width: 50px; }
      .dispensation-header .eligibility_errors .single-error__code-label {
        width: 50px;
        opacity: 0.5; }
      .dispensation-header .eligibility_errors .single-error__description {
        width: 400px; }
      .dispensation-header .eligibility_errors .single-error__description-label {
        width: 400px;
        opacity: 0.5; }

.eligibility_reason {
  padding: 10px 30px; }
  .eligibility_reason h1 {
    font-size: 20px; }

.claim-details-table {
  margin: 30px; }

.claims-review .repl-group-select {
  margin-bottom: 15px; }

.claims-review .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by {
  margin-left: 0;
  margin-bottom: 0;
  color: #353e4a; }
  .claims-review .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by label {
    display: none; }

.claims-review .order-by--wrapper {
  width: 240px; }

.claims-review .filter-status__message {
  color: #353e4a; }

.claims-review-details .card-box__content.claims-review {
  display: flex; }

.add-erx-btn {
  align-items: center;
  margin-top: 10px;
  margin-bottom: 10px !important;
  background-color: #35668F !important;
  float: right; }

.hide-scroolbar {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.hide-scroolbar::-webkit-scrollbar {
  display: none; }
.product-invoice-status-approved {
  color: #358f6f;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 20px 0; }

.product-invoice-status-rejected {
  color: #ff3d00;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 20px 0; }

.product-invoice-status-not-reviewed {
  color: #aaaeae;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 20px 0; }

.product-invoice-status-un-known {
  color: #aaaeae;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 20px 0; }

.product-invoice-export .export__container.dropdown.btn-group {
  width: 181.75px;
  margin-right: 5px; }
  .product-invoice-export .export__container.dropdown.btn-group .export__button--action.btn {
    width: 100%;
    margin: 0px; }
  .product-invoice-export .export__container.dropdown.btn-group .export__button--dropdown.btn {
    margin: 0px; }

.invoice-details-buttons-wrapper {
  display: flex;
  justify-content: space-between;
  padding: 15px 30px;
  float: right; }

.product-invoice-filters-search .form-group.search-input-group {
  width: 100%; }

.product-invoice-list-search .form-group.search-input-group {
  width: 420px; }

.page-size-select {
  width: 140px; }

.product-invoice-info-icon {
  margin-left: 10px;
  cursor: pointer;
  font-size: 20px; }

.red {
  color: #ff3d00; }

.product-invoice-date-picker {
  margin-top: auto; }

.product-invoice-list-wrapper {
  padding: 0px !important; }
.claims-debugger .tooltip-wrapper.claims-debugger-search {
  grid-template-columns: minmax(100px, 550px) !important; }
  .claims-debugger .tooltip-wrapper.claims-debugger-search .claims-debugger__search-panel {
    display: grid;
    grid-template-columns: minmax(100px, 550px) !important; }
    .claims-debugger .tooltip-wrapper.claims-debugger-search .claims-debugger__search-panel .form-group {
      margin: 0px !important;
      width: 100% !important; }

.claims-debugger__search-panel {
  display: flex;
  align-items: flex-end; }
  .claims-debugger__search-panel .form-group {
    margin-bottom: 0;
    margin-right: 1.5%;
    width: 300px; }
    .claims-debugger__search-panel .form-group input[type="text"] {
      height: 39px !important; }

.claims-debugger__claims {
  padding: 25px 0; }
  .claims-debugger__claims h3 {
    margin-top: 0; }

.claims-debugger .ui2-react-table__row.highlighted {
  background-color: #d2ffd7; }

.claims-debugger__table__wrapper {
  height: 300px; }

.erx-btn {
  margin: 0px 5px !important;
  width: 78px !important; }
.contract-orders__list {
  margin-top: 2em;
  min-height: 400px; }

.contract-orders__item-title {
  margin: 0; }
  .contract-orders__item-title.details-title {
    position: relative; }
    .contract-orders__item-title.details-title .checkbox-icon {
      width: 30px;
      height: 30px; }

.contract-order__item-title {
  font-weight: bold; }

.contract-orders__item-header {
  display: flex;
  align-items: center;
  padding-top: 28px;
  padding-bottom: 14px; }
  .contract-orders__item-header--status {
    margin-left: 10px;
    font-size: 24px;
    display: flex;
    align-items: center; }
    .contract-orders__item-header--status .checkbox-icon {
      margin-right: 5px;
      width: 23px;
      height: 23px; }
    .contract-orders__item-header--status .status-label {
      font-size: 16px; }
      .contract-orders__item-header--status .status-label.bold {
        font-weight: 600; }
      .contract-orders__item-header--status .status-label.red {
        color: #ff3d00; }
  .contract-orders__item-header--order-invoices {
    margin: 0 15px;
    font-size: 18px; }
  .contract-orders__item-header--buttons {
    margin-left: 15px;
    display: flex; }
    .contract-orders__item-header--buttons .btn {
      height: 35px;
      padding: 10px;
      width: 160px; }
    .contract-orders__item-header--buttons .btn + .btn {
      margin-left: 15px; }
    .contract-orders__item-header--buttons .approve-submit {
      width: 240px;
      max-width: 240px; }
  .contract-orders__item-header .order-invoices--icon {
    width: 25px;
    margin-right: 5px; }
  .contract-orders__item-header .manual-order-btn {
    height: 35px;
    padding: 10px;
    width: 160px; }

.contract-orders__item-left {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .contract-orders__item-left > div {
    margin-bottom: 12px;
    padding-right: 15px; }
  .contract-orders__item-left .red {
    color: #ff3d00; }

.contract-cd-order {
  font-weight: bold;
  font-size: 24px;
  color: #35668F;
  margin: 0px !important;
  display: flex;
  justify-content: center; }

.contract-cd-order + .contract-orders__item-header {
  padding-top: 8px; }

.contract-orders .checkbox-group-wrapper {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap; }

.contract-orders__filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
  justify-content: space-between; }
  .contract-orders__filters--left {
    display: flex;
    align-items: center; }
  .contract-orders__filters--search.search-input-group {
    width: 450px !important; }
    .contract-orders__filters--search.search-input-group input {
      height: 45px !important; }
    .contract-orders__filters--search.search-input-group .icomoon-search {
      top: 12px; }
  .contract-orders__filters .order-status-filter {
    max-height: 253px; }
  .contract-orders__filters .order-origin-filter {
    max-height: 260px; }
    .contract-orders__filters .order-origin-filter .form-group {
      margin: 0; }
  .contract-orders__filters .checkbox-group {
    align-items: flex-end;
    padding: 10px 15px; }
    @media (max-width: 992px) {
      .contract-orders__filters .checkbox-group {
        margin: 10px 0; } }
    .contract-orders__filters .checkbox-group .checkbox {
      margin: 0 10px 0 0;
      padding-left: 22px; }
    .contract-orders__filters .checkbox-group .checkbox-icon {
      width: 20px;
      margin-right: 8px; }
    .contract-orders__filters .checkbox-group__list--horizontal > div {
      flex: 0 0 50%;
      margin-bottom: 10px; }
    .contract-orders__filters .checkbox-group__list--vertical {
      flex: 0 0 850px;
      max-height: 60px; }
    .contract-orders__filters .checkbox-group--vertical {
      width: 950px; }
      .contract-orders__filters .checkbox-group--vertical .checkbox-group__buttons {
        margin-left: 10px; }
    .contract-orders__filters .checkbox-group--horizontal.order-origin-filter .checkbox-group__list--horizontal > div, .contract-orders__filters .checkbox-group--horizontal.repln-groups-filter .checkbox-group__list--horizontal > div {
      flex: 0 0 100%; }
  .contract-orders__filters .repl-group-select {
    margin-right: -1.5%; }

.contract-orders__approve-button.btn-default, .contract-orders__approve-button.btn-default:active, .contract-orders__approve-button.btn-default:focus {
  background-color: #0ca789;
  border-color: #0ca789;
  font-weight: 400; }

.contract-orders__approve-button.btn-default:hover {
  background-color: #0b9278;
  border-color: #0b9278; }

.contract-orders__cancel-button.btn-default, .contract-orders__cancel-button.btn-default:active, .contract-orders__cancel-button.btn-default:focus {
  background-color: #ff3d00;
  border-color: #ff3d00;
  font-weight: 400; }

.contract-orders__cancel-button.btn-default:hover {
  background-color: #e83902;
  border-color: #e83902; }

.view-pdf-button {
  background: #35668F;
  color: white;
  margin: 5px; }

.view-pdf-container {
  display: inline-block;
  margin: 0px 5px;
  vertical-align: bottom; }

.manual-order-btn {
  margin-right: 10px; }

.orders-list-date {
  margin-top: auto; }
.raw-claim-table {
  margin: 30px; }
  .raw-claim-table .add-erx-btn {
    align-items: center;
    margin: 0 auto;
    background-color: #35668F; }
  .raw-claim-table .erx-errors {
    color: #011424;
    font-weight: normal; }
    .raw-claim-table .erx-errors h1 {
      font-size: 20px; }
    .raw-claim-table .erx-errors ul {
      padding: 0; }
    .raw-claim-table .erx-errors li {
      list-style: none; }
    .raw-claim-table .erx-errors p {
      margin: 0 0 5px; }

.raw-claims-review-search {
  align-items: flex-end !important; }
  .raw-claims-review-search .inputs-wrapper {
    align-items: flex-end !important; }
    .raw-claims-review-search .inputs-wrapper .form-group {
      margin-top: 0;
      margin-bottom: 0; }

.hide-scroolbar {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.hide-scroolbar::-webkit-scrollbar {
  display: none; }
.card-box__content {
  transition: opacity 1.5s; }

.card-box__disabled {
  opacity: 0.5; }

.drug-info__content {
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  overflow: hidden; }
.claims-review-table {
  border: solid 1px #cdcdcd;
  min-width: 800px;
  width: 100%; }
  .claims-review-table__row:nth-child(odd) {
    background-color: #EAFBEA; }
  .claims-review-table td {
    padding: 10px 10px 10px 20px;
    min-width: 200px;
    max-width: 200px;
    word-break: break-word; }
  .claims-review-table__cell-value {
    font-weight: bold; }
    .claims-review-table__cell-value.has-error {
      background-color: #f0dc4ecc; }
  .claims-review-table__cell-label.has-error {
    background-color: #f0dc4ecc; }
  .claims-review-table__cell-bordered {
    border-right: solid 1px #99a0ab; }
  .claims-review-table__row--additional:nth-child(odd) {
    background-color: #E8E9EB; }
  .claims-review-table__row--additional .multi-line span {
    display: block; }
  .claims-review-table__row--additional .multi-line span:last-of-type {
    font-size: 12px; }
  .claims-review-table__title {
    border-bottom: solid 1px #99a0ab;
    border-right: solid 1px #99a0ab;
    padding: 10px;
    text-align: center;
    text-transform: uppercase; }
  .claims-review-table__breakpoint {
    background-color: #353e4a; }
  .claims-review-table__error_title {
    height: 43px;
    width: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 10px; }
  .claims-review-table__error_content {
    height: 317px;
    width: 100%;
    background: #ECECEC;
    color: red;
    align-items: center;
    display: flex;
    justify-content: center; }
  .claims-review-table__no_item {
    text-align: center;
    height: auto;
    color: #DB2851;
    font-weight: bold;
    padding: 0 !important;
    background: #eee; }
#body.contract_rx .raw-claims-review-search .search-filter.search-filter-order-by .react-select__control {
  height: 39px;
  width: 150px;
  border-radius: 8px;
  box-shadow: none;
  min-height: 0px; }

#body.contract_rx .raw-claims-review-search .search-filter.search-filter-order-by .react-select__menu {
  width: 100%; }

.raw-claims-review-search .raw-claims-select .react-select__control {
  height: 39px;
  width: 150px;
  border-radius: 8px;
  box-shadow: none;
  min-height: 0px;
  margin-top: 17px; }

.raw-claims-review-search .search-date-picker-filter-group {
  display: flex;
  margin-top: auto; }
  .raw-claims-review-search .search-date-picker-filter-group .ui2-date-range-picker--dropdown {
    margin-top: 17px; }

.raw-claims-review-search .raw-claim-date-picker {
  margin-top: auto; }

.raw-claims-review-search .raw-claim-order-by-input {
  margin-top: -12px; }
.rxDash {
  margin-bottom: 3px !important;
  display: flex;
  width: min-content;
  margin-left: 50px; }
  .rxDash input[type="text"],
  .rxDash .icon-calendar {
    height: 38px !important; }
.double-dashboard-alert {
  height: 970px !important; }

.alerts-wrap {
  height: 500px;
  overflow: hidden; }
  .alerts-wrap .alerts-list__load-more {
    color: #35668F;
    border: none;
    background-color: transparent;
    cursor: pointer;
    float: right;
    margin-right: 15px; }
  .alerts-wrap .alert-item {
    margin: 0;
    clear: both;
    transition: opacity 1s; }
    .alerts-wrap .alert-item__read {
      opacity: 0.2; }
    .alerts-wrap .alert-item .alert-icon {
      float: left;
      padding-left: 0; }
    .alerts-wrap .alert-item .alerts-icon-block {
      color: #fff; }
    .alerts-wrap .alert-item .alert-content-wrapper {
      padding-left: 45px; }
      .alerts-wrap .alert-item .alert-content-wrapper .alerts-description h4 {
        min-height: 30px; }
      .alerts-wrap .alert-item .alert-content-wrapper .btn-link {
        margin-bottom: 0; }
        .alerts-wrap .alert-item .alert-content-wrapper .btn-link.alert-marking {
          animation: markingPulse 1s infinite; }

@keyframes markingPulse {
  0% {
    opacity: 100%; }
  50% {
    opacity: 0; }
  100% {
    opacity: 100%; } }
.claim-adjustment .navbar-page-title {
  margin-bottom: 0px; }

.claim-adjustment .right-panel-filters {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 5px;
  margin-left: 5px; }

.claim-adjustment .claim-adjustment-search-date-filter-group {
  display: flex; }

.filters-header-right {
  display: flex;
  align-items: flex-end; }

.filter-label {
  margin-bottom: 10px; }
  .filter-label label {
    display: inline; }

.search-panel-container {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  width: 100%;
  padding: 0px; }
  .search-panel-container .search-input-group {
    margin-bottom: 0px; }
  .search-panel-container .filter_elements {
    margin-top: 25px; }

.summary-component {
  padding-bottom: 5px;
  border-bottom: 1px solid black;
  margin-bottom: 25px; }
  .summary-component .page-header-component {
    padding-bottom: 5px; }
    .summary-component .page-header-component .page-title-header {
      display: inline-block; }
    .summary-component .page-header-component .toggle-icon {
      display: inline-block;
      vertical-align: inherit;
      font-size: 25px; }
    .summary-component .page-header-component .rotate-icon {
      transform: rotate(90deg); }
  .summary-component .custom-buttons-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
    flex-direction: row-reverse; }
    .summary-component .custom-buttons-container button {
      margin-left: 5px; }

.claim-adjustment-date-picker {
  margin-top: auto; }
.location-info {
  padding: 10px 10px 10px 30px;
  display: flex; }
  .location-info__section {
    flex: 1;
    display: flex;
    flex-wrap: wrap; }
  .location-info__detail {
    width: calc(100%/7);
    margin-top: 15px; }
  .location-info__label {
    font-size: 15px;
    color: #99a0ab;
    font-weight: bold; }
.claims-settings .location-select__body {
  left: unset;
  right: 0; }

.claims-settings .form-group {
  margin-bottom: 0; }

.claims-settings__row {
  display: flex;
  align-items: flex-start;
  padding-bottom: 20px; }

.claims-settings__description {
  margin-top: 21px;
  margin-bottom: 0;
  color: #8c8c8c; }
.claim-details-form {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-grow: 2 1 3; }
  .claim-details-form label {
    font-family: Helvetica;
    line-height: 1.4;
    font-size: 17px;
    font-weight: 400;
    margin: 0px 5px 5px 0px;
    color: #353e4a; }
  .claim-details-form h4 {
    margin: 0px;
    text-decoration: underline;
    margin: 5px 0px;
    font-weight: 600; }
  .claim-details-form .claims-details-container {
    padding: 5px 15px 10px 5px; }
  .claim-details-form .border-btn {
    border-bottom: 1px solid black; }
  .claim-details-form .container-row {
    border-radius: 5px; }
    .claim-details-form .container-row .container-labels label {
      display: inline; }
  .claim-details-form .first-row {
    flex: 1;
    border: 1px solid black; }
  .claim-details-form .second-row {
    flex: 1;
    border-right: 1px solid black;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }
  .claim-details-form .form-row {
    flex: 2;
    border-right: 1px solid black;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }
  .claim-details-form .rx-audit-claim-form .radio__indented {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start; }
    .claim-details-form .rx-audit-claim-form .radio__indented label {
      flex: 2;
      font-size: 16px; }
  .claim-details-form .rx-audit-claim-form .group-box {
    padding: 5px 15px 10px 5px; }
  .claim-details-form .rx-audit-claim-form .action-container {
    border-top: 1px solid black;
    padding: 5px 15px 10px 5px; }
  .claim-details-form .rx-audit-claim-form .audit-claim-actions {
    text-align: left;
    padding: 5px 15px 10px 5px; }
    .claim-details-form .rx-audit-claim-form .audit-claim-actions .btn {
      display: inline-block;
      margin-left: 5px; }
  .claim-details-form .rx-audit-claim-form .correctiveness_radio_container .radio-inline {
    margin-left: 10px; }
  .claim-details-form .bold {
    font-weight: bold; }
.audit-progress-mark {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-image: none;
  border: 0;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  height: 30px;
  font-family: Lato, sans-serif;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 30px;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.2s;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  width: 30px; }
.edit-audit__table {
  width: 100%; }
  .edit-audit__table .rt-td {
    text-align: center;
    white-space: normal; }
  .edit-audit__table .edit-audit-row__button {
    height: unset;
    font-size: 14px;
    border: none;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }

.edit-audit__column-edit {
  text-align: center; }

.audit-claims-list__info > hr {
  margin-top: 0 !important; }

.audit-claims-list__csv_export {
  margin-bottom: 15px; }

.audit-claims-list .audit-claims-list-table {
  background-color: white; }

.edit-audit-table__col-progress {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around; }

.audit-form-modal {
  width: 90% !important; }
.audit-claim-form {
  background-color: white; }
  .audit-claim-form form {
    max-width: 1000px; }
  .audit-claim-form .form-subquestion {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px; }
    .audit-claim-form .form-subquestion:before {
      content: '';
      height: 100%;
      position: absolute;
      width: 1px;
      background-color: #cdcdcd;
      top: 0;
      left: 15px; }
    .audit-claim-form .form-subquestion > .form-group {
      margin-bottom: 0; }
  .audit-claim-form .group-box {
    background: white;
    padding: 15px; }
    .audit-claim-form .group-box .form-group textarea {
      border: 1px solid #cdcdcd; }
    .audit-claim-form .group-box__title {
      margin: 0;
      padding-top: 15px;
      padding-bottom: 30px;
      position: relative; }
      .audit-claim-form .group-box__title:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 1px;
        background-color: #cdcdcd;
        left: 0;
        bottom: 15px; }
    .audit-claim-form .group-box__input > input {
      margin-left: 15px;
      width: calc(100% - 15px); }
  .audit-claim-form .radio__block > label {
    display: block;
    margin: 0 0 5px 0; }
  .audit-claim-form .radio__indented > .radio-label {
    margin-left: 15px; }
  .audit-claim-form .radio__indented > div {
    margin-left: 15px; }
  .audit-claim-form .audit-claim-actions {
    text-align: right;
    padding-bottom: 15px;
    padding-top: 15px;
    position: relative; }
    .audit-claim-form .audit-claim-actions:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      background-color: #cdcdcd;
      left: 0;
      top: 0px; }
    .audit-claim-form .audit-claim-actions button {
      width: 150px; }
      .audit-claim-form .audit-claim-actions button > .rxs-spinner {
        margin-left: 24px; }
    .audit-claim-form .audit-claim-actions .inline {
      display: inline-block;
      margin-left: 15px; }
.report-style-class {
  height: 80vh;
  margin: 1% auto;
  width: 100%; }

.displayMessage {
  color: #000000;
  font: normal 22px/27px Segoe UI;
  letter-spacing: 0;
  margin-top: 1%;
  opacity: 1;
  text-align: center; }

.hr {
  border: 1px solid #E0E0E0;
  opacity: 1; }

.controls {
  margin-top: 1%;
  text-align: center; }

.footer {
  background: #EEF3F8 0 0 no-repeat padding-box;
  bottom: 0;
  height: 39px;
  opacity: 1;
  position: absolute;
  width: 100%; }

.footer-text {
  font: Regular 16px/21px Segoe UI;
  height: 21px;
  letter-spacing: 0;
  margin-top: 9px;
  opacity: 1;
  position: relative;
  text-align: center;
  width: 100%; }

.footer-text > a {
  color: #278CE2;
  font: Regular 16px/21px Segoe UI;
  letter-spacing: 0;
  text-decoration: underline; }

.title {
  color: #FFFFFF;
  font: Bold 22px/27px Segoe UI;
  letter-spacing: 0;
  margin: 13px;
  margin-left: 36px;
  opacity: 1;
  text-align: left; }

button:onfocus {
  outline: none; }

iframe {
  border: none; }
.add-note-button {
  float: left;
  margin-top: 10px; }
  .add-note-button > .add-note-button {
    margin-right: 15px;
    margin-bottom: 15px;
    float: right; }

.btn-group + .btn-group {
  margin-left: 500%; }

.addNote {
  height: 10px; }
.clear-locations > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-locations > .search-input-group > button {
      right: 6%; } }

.clear-locations .locations-csvs {
  margin-top: 15px;
  float: right; }

.clear-locations .search-filters {
  min-width: 240px;
  margin-bottom: 21px; }

.clear-locations .btn-color {
  border-color: #3af13a;
  padding: 25px;
  margin-top: 1%;
  margin-left: 67%;
  position: absolute;
  zoom: 100%; }

.top-searchbar--providers .inputs-wrapper.search-panel-provider {
  display: block; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .search-input-group {
    float: left;
    margin-top: 27px; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .search-filter {
    float: left; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .add-payors {
    margin-top: 15px;
    float: right; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider .export__container {
    display: inline-flex;
    margin-top: 15px;
    float: right; }

.payors-head-btns {
  display: inline-flex;
  margin-top: 15px; }

.payors-import-btn {
  width: 90px;
  margin-right: 43px; }
.manageBlocksScreen .btn-export-csv {
  height: 55px !important;
  margin: 15px 0px !important; }

.manageBlocksScreen .btn-group {
  margin: 0px !important;
  margin-left: 1.5% !important; }

.manageBlocksScreen .add-block-button {
  height: 55px !important;
  margin: 15px 0px !important; }

.manageBlocksScreen .react-select__control {
  height: 55px; }

.manageBlocksScreen .search-filter {
  margin-bottom: 0px;
  margin-top: -10px; }

@media (min-width: 640px) {
  .manageBlocksScreen .top-searchbar--mapping .inputs-wrapper > div:nth-child(3) {
    margin-left: 0;
    width: auto !important; } }

.details-modal.modal-dialog {
  width: 90%; }
  .details-modal.modal-dialog .contract-order {
    padding: 0; }
  .details-modal.modal-dialog .container-fluid {
    padding: 0; }
  .details-modal.modal-dialog .card-box.open:last-child {
    margin-bottom: 0; }

.requestAdjustmentBtnContainer {
  position: relative;
  display: inline-flex;
  gap: 0px 25px; }

.new-orders-white-spinner > :is(.bounce1, .bounce2, .bounce3) {
  background-color: white; }

.wrapperRow {
  padding: 0px 20px 20px 20px; }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 25px; }

.blockingForm {
  min-height: 300px; }

.reversalErrors {
  background-color: #bd362f;
  padding: 10px 12px 10px 5px;
  border-radius: 5px;
  position: absolute;
  top: -105px;
  right: 5px;
  display: flex; }

.reversalErrors li {
  color: #ffffff; }

.reversalErrors ul {
  margin: 0px;
  padding-left: 18px; }

.reversalErrorsIcon {
  align-self: center;
  font-size: 32px;
  color: white !important; }

.apiErrorContainer {
  align-self: center; }

.addBlockModalBody .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.edit {
  color: #35668F;
  cursor: pointer;
  white-space: nowrap;
  outline: 0; }
  .edit:hover {
    color: #b2e5ff; }

.card-box--drug .loader {
  min-height: 80px;
  width: 150px; }

.multiplier {
  padding: 6px;
  background-color: #353e4a;
  border-radius: 4px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600; }

.ndc-check {
  min-height: 80px;
  display: flex;
  align-items: center;
  width: 100%; }
  .ndc-check .glyphicon {
    font-size: 30px;
    padding: 0 10px;
    color: #5cb85c;
    width: 60px; }
  .ndc-check .glyphicon-remove {
    color: #ea1f19; }

.card-box__title {
  display: flex;
  align-items: center; }
  .card-box__title .multiplier {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    min-width: 27px;
    height: 27px;
    padding: 0 5px; }
  .card-box__title .mapping-cdm-title {
    display: flex;
    align-items: center; }
    .card-box__title .mapping-cdm-title .review {
      display: flex;
      align-items: center;
      margin-left: 15px; }
      .card-box__title .mapping-cdm-title .review .icomoon-tag {
        margin-right: 5px; }
  .card-box__title .mapping-cdm-title.reprocess {
    position: relative;
    left: 180%; }

.card-box__table__mapping {
  padding: 0 10px;
  overflow-x: auto; }
  .card-box__table__mapping .vertical-align {
    vertical-align: middle;
    text-align: center;
    padding: 15px; }
  .card-box__table__mapping .rxs-spinner {
    margin: 0 auto; }
  .card-box__table__mapping .radio-inline.radio-label {
    width: 18px;
    height: 23px;
    padding: 0;
    margin: 0 auto; }
  .card-box__table__mapping .icon-fontello-trash-1::before {
    margin: 0; }
  .card-box__table__mapping .delete span {
    font-size: 1.2em;
    margin-left: -2px; }
  .card-box__table__mapping .table-striped {
    width: calc(100% + 5px);
    max-width: calc(100% + 5px);
    margin-left: -10px; }
    .card-box__table__mapping .table-striped > tbody > tr > td {
      padding-left: 15px;
      padding-top: 5px;
      padding-bottom: 5px; }

.date-range-wrap {
  margin-bottom: 15px; }
  .date-range-wrap [class*="col-xs"] {
    max-width: 270px; }
    @media (max-width: 425px) {
      .date-range-wrap [class*="col-xs"] {
        max-width: 100%; } }

.card-box__table__mapping .table-striped .highlight {
  background-color: #ffea84a8; }

.rightSideBorder,
.leftSideBorder {
  position: relative; }

.rightSideBorder::after,
.leftSideBorder::after {
  content: "";
  position: absolute;
  height: 100%;
  background-color: #000000;
  width: 1px;
  right: -7px;
  top: 0px;
  bottom: 0px; }

.leftSideBorder::after {
  right: unset;
  left: -7px; }

.rightSidetags {
  margin-top: 20px; }

.pl-20 {
  padding-left: 20px; }

@media (max-width: 1240px) {
  .card-box__details--rwd {
    overflow-x: scroll; } }

.customNdcUpdateFormContainer {
  padding: 20px; }
.manufacture-block-entity-configuration .add-manuf-block-entity-config--button-wrapper .manuf-block-entity-config__add-btn {
  width: 250px !important; }
.claims-advance-search {
  padding-left: 5px;
  position: relative;
  bottom: 8px; }
  .claims-advance-search .react-select__control {
    margin-right: 0;
    height: 39px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }
  .claims-advance-search .save-btn-group {
    margin: 0 !important;
    padding: 2px 10px;
    height: 38px; }
    .claims-advance-search .save-btn-group .caret {
      margin-left: 8px; }
  .claims-advance-search .label-with-icon {
    display: flex;
    align-items: center;
    gap: 5px;
    /* space between label and icon */ }
  .claims-advance-search .icon-img {
    filter: brightness(0) saturate(100%) invert(35%) sepia(46%) saturate(562%) hue-rotate(165deg) brightness(95%) contrast(94%);
    height: 10px;
    display: flex;
    position: relative;
    right: 0px;
    top: 17px;
    left: 209px; }

.save-save-as-filter-modal.modal-dialog {
  width: 45%; }

.save-save-as-filter-modal .form-container {
  margin-bottom: 0; }

.save-filter-modal-footer {
  display: flex;
  justify-content: end; }
.claims-management-container {
  font-family: 'Proxima Nova' !important; }
  .claims-management-container .ui2-top-header {
    margin-bottom: 5px; }
    .claims-management-container .ui2-top-header .four-part-filter-row {
      margin-bottom: 0px; }
      .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters {
        display: flex;
        margin-bottom: 0;
        align-items: center;
        width: 100%; }
        .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .pharmacy-filter {
          margin-right: 5px;
          flex: 1; }
          .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .pharmacy-filter > div > div {
            width: 100%;
            min-height: 39px !important;
            min-width: fit-content;
            border-radius: 8px;
            box-shadow: none; }
          .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .pharmacy-filter > span {
            margin-left: 5px;
            color: #35668F;
            font-size: 15px;
            font-weight: bold; }
          .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .pharmacy-filter .react-select__menu {
            border: 1px solid #cdcdcd; }
        .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .prescriber-search-filter {
          margin-right: 5px;
          flex: 1; }
          .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .prescriber-search-filter .search-input {
            width: 100%;
            min-height: 39px !important;
            min-width: fit-content;
            border-radius: 8px;
            box-shadow: none;
            padding-left: 10px;
            border: 1px solid #cdcdcd; }
        .claims-management-container .ui2-top-header .four-part-filter-row .no-rpg-filters .info-tooltip-icon-img {
          filter: brightness(0) saturate(100%) invert(35%) sepia(46%) saturate(562%) hue-rotate(165deg) brightness(95%) contrast(94%); }
    .claims-management-container .ui2-top-header .no-rpg-checkbox {
      display: flex;
      margin: 7px 0px 2px 4px; }
      .claims-management-container .ui2-top-header .no-rpg-checkbox .checkbox-label {
        margin: -2px 0px 0px 6px;
        padding: 0px; }
  .claims-management-container .ui2-top-header__right--filters {
    width: initial; }
  .claims-management-container .four-part-filter-row__filters {
    justify-content: right !important; }
  .claims-management-container .four-part-filter-row .claim-management-export-button {
    margin-top: 15px; }
    .claims-management-container .four-part-filter-row .claim-management-export-button .export__button--action.btn {
      width: 90px;
      height: 39px;
      padding-right: 14px; }
    .claims-management-container .four-part-filter-row .claim-management-export-button .export__button--dropdown.btn {
      width: 90px;
      height: 39px; }
    .claims-management-container .four-part-filter-row .claim-management-export-button .dropdown-menu {
      left: 20px;
      width: 180px;
      border-radius: 8px; }
    .claims-management-container .four-part-filter-row .claim-management-export-button .btn-group > .btn + .dropdown-toggle {
      padding-right: 15px; }
  .claims-management-container .action-and-filter-row {
    align-items: baseline !important; }
    .claims-management-container .action-and-filter-row__filter-column {
      flex-wrap: wrap;
      justify-content: normal; }
    .claims-management-container .action-and-filter-row .ui2-top-header__action-button {
      width: 100%; }
    .claims-management-container .action-and-filter-row .claims-management-action-btn {
      display: flex;
      width: 100%; }
      .claims-management-container .action-and-filter-row .claims-management-action-btn .checkbox-row {
        display: flex;
        margin-top: 10px;
        margin-left: 4px; }
        .claims-management-container .action-and-filter-row .claims-management-action-btn .checkbox-row .reviewed-claims-checkbox, .claims-management-container .action-and-filter-row .claims-management-action-btn .checkbox-row .referral-claims-checkbox {
          display: flex; }
          .claims-management-container .action-and-filter-row .claims-management-action-btn .checkbox-row .reviewed-claims-checkbox .checkbox-label, .claims-management-container .action-and-filter-row .claims-management-action-btn .checkbox-row .referral-claims-checkbox .checkbox-label {
            margin: -2px 0px 0px 6px !important;
            padding: 0px; }
      .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-status {
        margin-right: 5px !important;
        display: flex;
        flex-direction: column;
        flex: 2; }
        .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-status > span {
          margin-left: 5px;
          color: #35668F;
          font-size: 15px;
          font-weight: bold; }
      .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-type, .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-eligibility {
        margin-right: 5px !important;
        display: flex;
        flex-direction: column;
        flex: 1; }
        .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-type > span, .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-eligibility > span {
          margin-left: 5px;
          color: #35668F;
          font-size: 15px;
          font-weight: bold; }
      .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-status > div > div, .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-eligibility > div > div, .claims-management-container .action-and-filter-row .claims-management-action-btn .claims-type > div > div {
        width: 100%;
        min-height: 39px !important;
        min-width: fit-content;
        border-radius: 8px;
        box-shadow: none; }
      .claims-management-container .action-and-filter-row .claims-management-action-btn .react-select__menu {
        border: 1px solid #cdcdcd; }
    .claims-management-container .action-and-filter-row .claims-date-picker > span {
      margin-left: 5px;
      color: #35668F;
      font-size: 15px;
      font-weight: bold; }
    .claims-management-container .action-and-filter-row .claims-advance-search > label {
      margin-left: 5px;
      color: #35668F;
      font-size: 15px;
      font-weight: bold;
      margin-bottom: 0; }
    .claims-management-container .action-and-filter-row .search-btn {
      margin-top: 12px; }
  .claims-management-container .ag-theme-alpine {
    font-family: 'Proxima Nova';
    font-size: 16px; }
    .claims-management-container .ag-theme-alpine .ag-cell {
      border-right: 1px solid #dde2eb !important;
      font-size: 15px; }
  .claims-management-container .grid-header {
    margin-bottom: 10px;
    display: flex; }
    .claims-management-container .grid-header .data-size {
      margin-left: 2px; }
      .claims-management-container .grid-header .data-size input {
        margin-left: 6px;
        width: 200px;
        border: 1px solid #35668F;
        padding-left: 8px;
        border-radius: 8px;
        margin-right: 10px; }
    .claims-management-container .grid-header .quick-filter input {
      margin-left: 6px;
      width: 250px;
      border: 1px solid #35668F;
      padding-left: 10px;
      border-radius: 8px; }
    .claims-management-container .grid-header .data-state {
      display: flex; }
      .claims-management-container .grid-header .data-state .loading {
        font-size: 16px; }
        .claims-management-container .grid-header .data-state .loading .fa-spinner {
          font-size: 22px; }
      .claims-management-container .grid-header .data-state .partial {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        padding: 0px 15px;
        border-radius: 8px;
        text-align: center;
        width: fit-content;
        font-size: 16px;
        margin: 0px 15px 0px 5px;
        color: #444e54;
        background-color: #f2d657; }
      .claims-management-container .grid-header .data-state .fail {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        padding: 0px 15px;
        border-radius: 8px;
        text-align: center;
        width: fit-content;
        font-size: 16px;
        margin: 0px 15px 0px 5px;
        color: white;
        background-color: #f54b42; }
      .claims-management-container .grid-header .data-state .loaded {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        padding: 0px 15px;
        border-radius: 8px;
        text-align: center;
        width: fit-content;
        font-size: 16px;
        margin: 0px 15px 0px 5px;
        color: white;
        background-color: #198754; }
    .claims-management-container .grid-header .cancel-btn {
      margin-right: 12px; }
      .claims-management-container .grid-header .cancel-btn button {
        height: 26px;
        width: 100px;
        margin-left: 10px;
        background-color: #35668F;
        border: none; }
  .claims-management-container .modal-msg {
    font-size: large; }
    .claims-management-container .modal-msg > div {
      padding: 20px 20px 10px;
      position: absolute;
      top: 30%; }
    .claims-management-container .modal-msg .modal-loader {
      width: 360px;
      height: 200px;
      top: 0px; }
    .claims-management-container .modal-msg .modal-buttons {
      justify-content: space-around; }
.referral-capture-modal-container .spinner-section {
  height: calc(90vh - 175px);
  margin-top: 100px;
  margin-bottom: 100px; }

.referral-capture-modal-container .referral-capture-header {
  display: flex;
  gap: 20px;
  align-items: center; }
  .referral-capture-modal-container .referral-capture-header .header-title {
    display: flex;
    gap: 20px;
    align-items: center; }

.referral-capture-modal-container .referral-capture-body .claim-information {
  padding: 0;
  height: calc(90vh - 175px);
  overflow: scroll; }
  .referral-capture-modal-container .referral-capture-body .claim-information .info-section:not(:last-child) {
    border-bottom: 1px solid black; }
  .referral-capture-modal-container .referral-capture-body .claim-information .info-section .claim-information-fields {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .referral-capture-modal-container .referral-capture-body .claim-information .info-section .claim-information-fields .field {
      display: flex;
      flex-direction: column; }
  .referral-capture-modal-container .referral-capture-body .claim-information .info-section .bold {
    padding: 8px 0; }
  .referral-capture-modal-container .referral-capture-body .claim-information .info-section .claim-action-history {
    display: block; }
  .referral-capture-modal-container .referral-capture-body .claim-information.split-4x2 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .referral-capture-modal-container .referral-capture-body .claim-information.split-3x2 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }

.referral-capture-modal-container .referral-capture-body .notes-image-section {
  height: calc(90vh - 175px);
  font-size: 15px;
  display: flex;
  flex-direction: column; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .notes-label {
    box-shadow: 0 0 0 1px #ccc;
    padding: 2px;
    background-color: #f9fafb; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .notes-input {
    border-radius: 2px;
    border-color: transparent;
    box-shadow: 0 0 0 1px #ccc;
    resize: none;
    width: 100%;
    height: 30vh; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .notes-button {
    width: 100%;
    border-radius: 2px;
    background-color: #617f89;
    border-color: #617f89; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .files-image-wrapper .file-input-container {
    margin: 5px 0;
    padding: 5px;
    box-shadow: 0 0 0 1px #ccc; }
    .referral-capture-modal-container .referral-capture-body .notes-image-section .files-image-wrapper .file-input-container .select-files {
      margin: 0;
      border-radius: 2px;
      padding: 5px;
      width: 150px;
      background-color: #f1eeed;
      text-transform: none;
      font-weight: 700;
      font-size: 16px;
      color: #89949b;
      text-align: center; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .files-image-wrapper .file-list {
    height: 40px;
    list-style-type: none;
    overflow: scroll; }
    .referral-capture-modal-container .referral-capture-body .notes-image-section .files-image-wrapper .file-list .file-list-name {
      overflow: hidden;
      text-overflow: ellipsis;
      display: block;
      white-space: nowrap; }
  .referral-capture-modal-container .referral-capture-body .notes-image-section .files-image-wrapper .view-uploaded-images-button {
    width: 100%;
    border-radius: 2px;
    background-color: #f1eeed; }

.referral-capture-modal-container .referral-capture-footer {
  display: flex;
  gap: 20px;
  justify-content: center; }

.referral-capture-modal-container .rpg-info {
  display: flex;
  justify-content: center;
  align-items: center; }

.referral-capture-modal-container .title {
  font-size: 20px;
  font-weight: bold;
  color: #353e4a;
  font-family: "Proxima Nova";
  line-height: 1.1;
  margin: 0;
  padding-bottom: 10px; }

.referral-capture-modal-container .bold {
  font-weight: bold; }

.referral-capture-modal-container .ml-10 {
  margin-left: 10px; }

.referral-capture-modal-container .mr-8 {
  margin-right: 8px; }

.referral-capture-modal-container .cursor-disable {
  cursor: not-allowed; }

.referral-capture-modal-dialog-container {
  width: 90vw !important;
  height: 90vh !important;
  /* Header row */
  /* If you want attachments to wrap instead of ellipsize, allow wrapping: */
  /* Ellipses for each attachment line (if you keep them 1-line) */
  /* Let filenames wrap nicely */
  /* <= 1200px: shrink attachments a bit */
  /* <= 992px: shrink more */
  /* <= 768px: stack as cards, auto-label each cell */
  /* Mobile: stacked layout should wrap naturally */ }
  .referral-capture-modal-dialog-container > div {
    height: 100%; }
  .referral-capture-modal-dialog-container .referral-action-btn-group {
    margin: 0 !important;
    padding: 2px 10px;
    height: 38px; }
    .referral-capture-modal-dialog-container .referral-action-btn-group .caret {
      margin-left: 8px; }
  .referral-capture-modal-dialog-container .claim-action-history {
    width: 100%;
    overflow-x: auto; }
  .referral-capture-modal-dialog-container .action-row {
    display: grid;
    /* Action | By | On | Notes | Attachments */
    grid-template-columns: 120px 195px 170px minmax(130px, 1fr) 520px;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #eee; }
  .referral-capture-modal-dialog-container .action-row > div {
    min-width: 0;
    /* critical for grid children */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .referral-capture-modal-dialog-container .action-row--header {
    font-weight: 600;
    border-bottom: 2px solid #ddd; }
  .referral-capture-modal-dialog-container .action-row > div:nth-child(5) {
    white-space: normal;
    /* allow multi-line for long file names */
    overflow: visible;
    text-overflow: clip; }
  .referral-capture-modal-dialog-container .action-row > div:nth-child(5) li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .referral-capture-modal-dialog-container .action-row > div:nth-child(5) {
    word-break: break-word; }
  @media (max-width: 1200px) {
    .referral-capture-modal-dialog-container .action-row {
      grid-template-columns: 120px 150px 160px minmax(120px, 1fr) 420px; } }
  @media (max-width: 992px) {
    .referral-capture-modal-dialog-container .action-row {
      grid-template-columns: 100px 150px 150px minmax(110px, 1fr) 300px; } }
  @media (max-width: 768px) {
    .referral-capture-modal-dialog-container .action-row--header {
      display: none; }
    .referral-capture-modal-dialog-container .action-row {
      grid-template-columns: 1fr;
      gap: 6px;
      padding: 10px 0; }
    .referral-capture-modal-dialog-container .action-row > div {
      display: flex;
      justify-content: space-between;
      gap: 12px; }
    .referral-capture-modal-dialog-container .action-row > div:nth-child(1)::before {
      content: "Action";
      font-weight: 600; }
    .referral-capture-modal-dialog-container .action-row > div:nth-child(2)::before {
      content: "Performed By";
      font-weight: 600; }
    .referral-capture-modal-dialog-container .action-row > div:nth-child(3)::before {
      content: "Performed On";
      font-weight: 600; }
    .referral-capture-modal-dialog-container .action-row > div:nth-child(4)::before {
      content: "Notes";
      font-weight: 600; }
    .referral-capture-modal-dialog-container .action-row > div:nth-child(5)::before {
      content: "Attachments";
      font-weight: 600; } }
  @media (max-width: 992px) {
    .referral-capture-modal-dialog-container .claim-information-fields {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) {
    .referral-capture-modal-dialog-container .claim-information-fields {
      grid-template-columns: 1fr; } }
  @media (max-width: 768px) {
    .referral-capture-modal-dialog-container .action-row > div {
      overflow: visible;
      text-overflow: clip;
      white-space: normal; } }
.modal-sup {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
  background: rgba(255, 255, 255, 0.9);
  display: none;
  text-align: center;
  align-items: center;
  justify-content: center;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out; }
  .modal-sup.modal-fixed {
    position: fixed; }
  .modal-sup h2 {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 15px;
    max-width: 500px; }
  .modal-sup .modal-body {
    text-align: left; }
  .modal-sup button {
    margin: 20px; }

.modal-show {
  opacity: 1;
  display: flex; }
.createClassContainer {
  background-color: white;
  padding: 10px 40px 50px 40px; }
  .createClassContainer .form-control {
    margin-bottom: 25px; }
  .createClassContainer .buttonWrapper {
    display: flex;
    justify-content: left; }
    .createClassContainer .buttonWrapper button {
      margin-right: 10px; }
  .createClassContainer .loader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    background-color: rgba(255, 255, 255, 0.5); }
.sign-in input {
  border: 1px solid #011424;
  border-radius: 4px !important;
  height: 50px !important;
  padding: 0 16px !important;
  display: table-cell;
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
  font-size: 20px;
  line-height: 1.33333;
  color: #444;
  box-shadow: none !important;
  letter-spacing: 0.5px;
  background-color: #fff;
  background-image: none;
  margin: 0;
  box-sizing: border-box;
  cursor: auto;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  text-align: start;
  font-size: 20px !important; }

.sign-in__actions {
  width: 100%; }
  .sign-in__actions:after {
    content: "";
    display: table;
    clear: both; }

:root .sign-in__action {
  padding-left: 0;
  padding-right: 0; }

.sign-in__action-reset {
  color: #011424;
  cursor: pointer;
  text-align: left; }

:root .sign-in__action-reset-link {
  padding-left: 0;
  line-height: 36px; }

.sigin-form-col .error {
  display: block; }

.login-password input[disabled] {
  background-color: #E9E9E9 !important;
  cursor: not-allowed !important; }
  .login-password input[disabled]:-webkit-autofill, .login-password input[disabled]:-webkit-autofill:hover, .login-password input[disabled]:-webkit-autofill:active, .login-password input[disabled]:-webkit-autofill:focus {
    -webkit-text-fill-color: #353e4a;
    -webkit-box-shadow: inset 0 0 0px 9999px #E9E9E9 !important;
    transition: background-color 5000s ease-in-out 0s; }

.input-group-addon + .form-group {
  display: table-cell; }
.expiry-msg {
  margin-left: 30px;
  font-style: inherit;
  font-family: "Proxima Nova";
  font-weight: 600; }
#file-input {
  display: none; }

.setting__user {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px 0; }

.setting__avatar {
  cursor: pointer;
  display: none; }

@media screen and (max-width: 1151px) {
  .setting__sm-screen-protect {
    margin-top: 25px; } }

#tooltip {
  position: fixed; }
.visitor-page {
  background: #35668F;
  height: 100vh;
  overflow: auto;
  overflow-x: hidden;
  display: flex;
  align-items: center; }
  .visitor-page input {
    border: 1px solid #011424;
    border-radius: 4px !important;
    height: 50px !important;
    padding: 0 16px !important;
    display: table-cell;
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    font-size: 20px;
    line-height: 1.33333;
    color: #444;
    box-shadow: none !important;
    letter-spacing: 0.5px;
    background-color: #fff;
    background-image: none;
    margin: 0;
    box-sizing: border-box;
    cursor: auto;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    text-align: start;
    font-size: 20px !important;
    font-family: Lato, sans-serif; }
  .visitor-page__actions {
    width: 100%; }
    .visitor-page__actions:after {
      content: "";
      display: table;
      clear: both; }
  :root .visitor-page__action {
    padding-left: 0;
    padding-right: 0; }
  .visitor-page__action-reset {
    color: #011424;
    cursor: pointer;
    text-align: left; }
  :root .visitor-page__action-reset-link {
    padding-left: 0;
    line-height: 36px; }
  .visitor-page .rubix-panel-container {
    box-shadow: 0 3px 6px rgba(53, 62, 74, 0.25);
    border-radius: 0; }
  .visitor-page .form-horizontal .control-label {
    text-align: left; }
  .visitor-page .form-horizontal .input-group-addon {
    border: 1px solid #cdcdcd;
    border-right: 0;
    background-color: #ffffff;
    border-bottom-left-radius: 8px !important;
    border-top-left-radius: 8px !important; }
    .visitor-page .form-horizontal .input-group-addon .icomoon-key {
      font-size: 18px; }
    .visitor-page .form-horizontal .input-group-addon .icomoon-email {
      font-size: 14px; }
  .visitor-page .form-horizontal .sign-in__submit {
    width: 100%;
    border: 0;
    padding: 0 !important;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    height: 45px;
    border-radius: 8px;
    background-color: #35668F;
    margin-top: 15px; }
  .visitor-page .form-horizontal .sign-in__action-reset-link {
    color: #99a0ab;
    font-size: 15px;
    font-weight: 600;
    width: 100%;
    padding: 0; }
  .visitor-page .request-password-error p {
    text-align: center; }
  .visitor-page .request-password-error .try-again {
    width: 100%;
    border: 0;
    padding: 0 !important;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    height: 45px;
    border-radius: 8px;
    background-color: #03bb03;
    margin-top: 15px; }

.input-group-addon + .form-group {
  display: table-cell; }
.report-popup-component {
  background-color: rgba(81, 164, 81, 0.8);
  position: fixed;
  top: 10px;
  right: 5px;
  min-width: 20%;
  min-height: 25;
  z-index: 10000;
  color: #fff;
  padding: 10px; }
  .report-popup-component .close-icon {
    color: #ff3d3d;
    text-align: right;
    cursor: pointer; }
  .report-popup-component .close-icon:hover {
    color: #ff0000; }
  .report-popup-component a {
    color: #fff;
    text-decoration-line: underline; }
  .report-popup-component a:hover {
    color: #155724;
    text-decoration-line: underline; }
  .report-popup-component .queue-link {
    text-align: right; }
#sidebar {
  background: #c4e3ff;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1000;
  position: fixed;
  overflow: visible !important;
  transition: all 0.3s ease;
  width: 250px;
  background: #273135; }
  #sidebar #avatar-col > div {
    top: 23px;
    font-size: 16px;
    line-height: 1;
    position: relative;
    color: #011424; }
  #sidebar .form-group.search-input-group input {
    height: 40px !important; }
  #sidebar .form-group.search-input-group .icomoon-search {
    top: 9px; }

#logo-section {
  cursor: pointer; }

#menu-view-switch {
  display: flex;
  border-top: 1px solid #35668F;
  border-bottom: 1px solid #35668F;
  margin-bottom: 2px; }
  #menu-view-switch > div {
    width: 50%;
    height: 45px;
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    color: #35668F;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center; }
    #menu-view-switch > div.active {
      background: #35668F;
      color: white;
      font-weight: 700; }

.sidebar__head {
  display: block;
  padding: 12px 0;
  font-weight: bold;
  background-color: #afcce4;
  text-align: center;
  line-height: 1; }

.sidebar__tabs {
  border-bottom: none !important; }
  .sidebar__tabs > div:first-child {
    background-color: #fff;
    border-bottom: 0;
    position: relative;
    padding-bottom: 10px;
    padding-top: 10px; }
    .sidebar__tabs > div:first-child:before {
      content: "";
      height: 10px;
      width: 10px;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      position: absolute;
      bottom: -5px;
      background-color: #99a0ab;
      z-index: 1;
      transition: left 0.3s linear; }
  .sidebar__tabs.tab1 > div:first-child:before {
    left: 40px; }
  .sidebar__tabs.tab2 > div:first-child:before {
    left: 137px; }
  .sidebar__tabs.tab3 > div:first-child:before {
    left: 180px; }
  .sidebar__tabs.tabs3.tab2 > div:first-child:before {
    left: 185px; }
  .sidebar__tabs.tabs3.tab3 > div:first-child:before {
    left: 248px; }

.sidebar__tabPane {
  overflow: hidden !important; }

.sidebar__icon {
  font-size: 25px; }

.avatar {
  height: auto !important; }

.user-section {
  display: flex;
  padding: 25px 0px;
  align-items: flex-start;
  background-color: #fff;
  border-top: 1px solid #35668F; }
  .user-section img {
    width: 60px;
    height: 60px;
    object-position: center;
    object-fit: cover; }
  .user-section p {
    padding: 0 25px; }
  .user-section--username {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 8px; }
  .user-section--account-type {
    font-size: 14px;
    color: #585858; }
  .user-section--accesses {
    max-height: 80px; }
    .user-section--accesses li {
      list-style: none; }
    .user-section--accesses ul {
      padding: 0 25px; }
  .user-section--gray {
    font-size: 14px;
    color: #99a0ab;
    font-weight: 400;
    margin: 0; }
    .user-section--gray.italic {
      font-style: italic; }
  .user-section--links {
    margin-top: 10px;
    padding: 0 25px;
    width: 100%;
    display: flex; }
    .user-section--links > a,
    .user-section--links > button {
      font-size: 12px;
      color: #35668F;
      outline: none;
      border: none;
      background: none;
      margin-right: 17px; }
      .user-section--links > a:hover,
      .user-section--links > button:hover {
        color: inherit; }
      .user-section--links > a > div,
      .user-section--links > button > div {
        display: flex;
        align-items: center; }
      .user-section--links > a .icon-menu-id-card,
      .user-section--links > button .icon-menu-id-card {
        margin-right: 8px;
        font-size: 13px; }
      .user-section--links > a .icon-menu-logout,
      .user-section--links > button .icon-menu-logout {
        margin-right: 3px;
        font-size: 15px; }
      .user-section--links > a .text,
      .user-section--links > button .text {
        padding-bottom: 3px;
        border-bottom: 1px solid #35668F;
        letter-spacing: -0.5px; }

html.default body #sidebar .sidebar-header {
  padding: 20px 30px;
  background-color: #FFFFFF;
  color: #808080;
  width: 100%;
  font-size: 15px;
  font-weight: 400;
  text-transform: none; }
  html.default body #sidebar .sidebar-header p {
    margin: 0; }
  html.default body #sidebar .sidebar-header strong {
    color: #000000;
    display: block;
    padding-bottom: 5px; }
  html.default body #sidebar .sidebar-header-contract-rx {
    font-weight: bold;
    font-size: 16px; }

.rc-tabs-bar {
  display: flex;
  justify-content: space-between;
  width: 100% !important;
  padding: 0px 30px; }

.rc-tabs-top .rc-tabs-tab {
  margin-right: 0 !important;
  color: #cdcdcd;
  padding: 0px; }

.rc-tabs-tab-active,
.rc-tabs-tab-active:hover {
  color: #35668F !important; }

.rc-tabs-tab:hover {
  color: #35668F !important; }

.rc-tabs-tab:hover img,
.rc-tabs-tab-active img {
  filter: invert(100%) !important; }
.double-dashboard-alert {
  height: 970px !important; }

.alerts-wrap {
  height: 410px;
  overflow: hidden; }
  .alerts-wrap .alerts-list__load-more {
    color: #0374bb;
    border: none;
    background-color: transparent;
    cursor: pointer;
    float: right;
    margin-right: 15px; }
  .alerts-wrap .alert-item {
    margin: 0;
    clear: both;
    transition: opacity 1s; }
    .alerts-wrap .alert-item__read {
      opacity: 0.2; }
    .alerts-wrap .alert-item .alert-icon {
      float: left;
      padding-left: 0; }
    .alerts-wrap .alert-item .alerts-icon-block {
      color: #fff; }
    .alerts-wrap .alert-item .alert-content-wrapper {
      padding-left: 45px; }
      .alerts-wrap .alert-item .alert-content-wrapper .alerts-description h4 {
        min-height: 30px; }
      .alerts-wrap .alert-item .alert-content-wrapper .btn-link {
        margin-bottom: 0; }
        .alerts-wrap .alert-item .alert-content-wrapper .btn-link.alert-marking {
          animation: markingPulse 1s infinite; }

@keyframes markingPulse {
  0% {
    opacity: 100%; }
  50% {
    opacity: 0; }
  100% {
    opacity: 100%; } }
.ui2-date-range-picker--dropdown {
  position: relative; }
  .ui2-date-range-picker--dropdown__body {
    padding: 0;
    z-index: 998;
    position: absolute;
    top: 44px;
    left: 0;
    background: white;
    border-radius: 3px;
    border: none;
    height: 0;
    overflow: hidden;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }
    .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row {
      padding-left: 10px;
      padding-right: 10px;
      display: flex;
      justify-content: space-between;
      align-items: stretch; }
      .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn {
        width: calc(50% - 5px);
        margin: 0;
        padding: 0; }
        .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger {
          background: #f0ad4e;
          color: white;
          border-color: #f0ad4e; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined {
            color: #f0ad4e;
            background: none; }
            .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover {
              color: #011424; }
              .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover:hover, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover:focus, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-onlyOnHover.active {
                color: white; }
            .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse {
              color: white;
              border-color: white; }
              .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active {
                color: #f0ad4e;
                background: white; }
                .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active.btn-retainBg {
                  background: #f0ad4e;
                  color: white;
                  border-color: #f0ad4e; }
                  .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg:active, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg:active, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.btn-outlined.btn-inverse.active.btn-retainBg:active {
                    background: #d18212;
                    border-color: #985f0d; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:focus, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.focus, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:hover, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active {
            color: white;
            background: #f4c37d;
            border-color: #f4c37d; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger:active, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"], .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active:hover, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.active:focus, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"]:hover, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[aria-expanded="true"]:focus,
          .open > .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.dropdown-toggle {
            color: white;
            background: #d18212;
            border-color: #985f0d;
            background-image: none; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.dropdown-toggle + ul li.active a {
            color: white;
            background: #f0ad4e; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger.disabled, .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger[disabled],
          fieldset[disabled] .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger {
            pointer-events: none; }
          .ui2-date-range-picker--dropdown__body .button-container.two-btn-in-row .btn.btn-danger .badge {
            color: #f0ad4e;
            background-color: #f0ad4e; }
    .ui2-date-range-picker--dropdown__body .button-container .btn {
      background: #35668F;
      color: white;
      border-color: #35668F; }
      .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined {
        color: #35668F;
        background: none; }
        .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover {
          color: #011424; }
          .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover:hover, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover:focus, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-onlyOnHover.active {
            color: white; }
        .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse {
          color: white;
          border-color: white; }
          .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active {
            color: #35668F;
            background: white; }
            .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover.btn-retainBg, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus.btn-retainBg, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active.btn-retainBg {
              background: #35668F;
              color: white;
              border-color: #35668F; }
              .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:hover.btn-retainBg:active, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse:focus.btn-retainBg:active, .ui2-date-range-picker--dropdown__body .button-container .btn.btn-outlined.btn-inverse.active.btn-retainBg:active {
                background: #1c364c;
                border-color: #0c161f; }
      .ui2-date-range-picker--dropdown__body .button-container .btn:focus, .ui2-date-range-picker--dropdown__body .button-container .btn.focus, .ui2-date-range-picker--dropdown__body .button-container .btn:hover, .ui2-date-range-picker--dropdown__body .button-container .btn.active {
        color: white;
        background: #4381b4;
        border-color: #4381b4; }
      .ui2-date-range-picker--dropdown__body .button-container .btn:active, .ui2-date-range-picker--dropdown__body .button-container .btn.active, .ui2-date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"], .ui2-date-range-picker--dropdown__body .button-container .btn.active:hover, .ui2-date-range-picker--dropdown__body .button-container .btn.active:focus, .ui2-date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"]:hover, .ui2-date-range-picker--dropdown__body .button-container .btn[aria-expanded="true"]:focus,
      .open > .ui2-date-range-picker--dropdown__body .button-container .btn.dropdown-toggle {
        color: white;
        background: #1c364c;
        border-color: #0c161f;
        background-image: none; }
      .ui2-date-range-picker--dropdown__body .button-container .btn.dropdown-toggle + ul li.active a {
        color: white;
        background: #35668F; }
      .ui2-date-range-picker--dropdown__body .button-container .btn.disabled, .ui2-date-range-picker--dropdown__body .button-container .btn[disabled],
      fieldset[disabled] .ui2-date-range-picker--dropdown__body .button-container .btn {
        pointer-events: none; }
      .ui2-date-range-picker--dropdown__body .button-container .btn .badge {
        color: #35668F;
        background-color: #35668F; }
  .ui2-date-range-picker--dropdown__header {
    display: flex;
    position: relative; }
    .ui2-date-range-picker--dropdown__header input {
      color: #353e4a;
      border: 1px solid #cdcdcd;
      border-radius: 8px;
      padding: 0 12px;
      padding-right: 45px;
      height: 45px;
      max-width: 100%;
      width: auto;
      min-width: 200px; }
      @media (min-width: 1200px) {
        .ui2-date-range-picker--dropdown__header input {
          min-width: 250px; } }
      .ui2-date-range-picker--dropdown__header input:read-only {
        background-color: white; }
    .ui2-date-range-picker--dropdown__header .icon-calendar {
      width: 40px;
      height: 45px;
      background-image: url("/imgs/icons/icons8-calendar.png");
      background-size: 20px;
      background-repeat: no-repeat;
      background-position: center;
      position: absolute;
      z-index: 2;
      right: 0;
      bottom: 0;
      top: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      border-left: 1px solid #cdcdcd;
      pointer-events: none; }
  .ui2-date-range-picker--dropdown.is-open .background-for-close {
    z-index: 997;
    background-color: rgba(255, 255, 255, 0.01);
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0; }
  .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__header {
    position: relative; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__header input {
      z-index: 999;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom: none; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__header .icon-calendar {
      z-index: 1000; }
  .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body {
    padding: 10px;
    border: 1px solid #cdcdcd;
    height: auto;
    overflow: visible; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body.with-ongoing .rdrDateDisplay {
      padding: 9px; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body.with-ongoing .rdrDateDisplayItem + .rdrDateDisplayItem {
      margin-left: 10px; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body.with-ongoing .ongoing-checkboxes {
      position: absolute;
      top: 75px;
      width: 100%; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body.with-ongoing .rdrMonthAndYearWrapper {
      margin-top: 25px; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body.with-ongoing.ongoing-selected .rdrMonthAndYearWrapper {
      margin-top: 9px; }
    .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body .ongoing-checkboxes {
      display: flex;
      justify-content: space-between; }
      .ui2-date-range-picker--dropdown.is-open .ui2-date-range-picker--dropdown__body .ongoing-checkboxes .checkbox-label {
        margin: 0;
        flex: 1 1; }

.predefined-dates__wrapper {
  margin-bottom: 10px; }

.predefined-dates__button, .predefined-dates__button:active, .predefined-dates__button:focus {
  text-align: left;
  font-weight: bold;
  font-size: 14px;
  border: none;
  background: none;
  padding: 0;
  height: auto;
  color: #41658C;
  display: inline;
  border-radius: 0;
  border-bottom: 1px solid transparent; }
  .predefined-dates__button:hover, .predefined-dates__button:active:hover, .predefined-dates__button:focus:hover {
    color: #35668F;
    background: none;
    border-color: #c1d0dc; }

.predefined-dates__button-wrapper {
  width: 110px;
  display: inline-block; }

.rdrDay {
  width: 44.56px !important; }
.card-box__grid--accumulation .tile {
  min-height: 165px; }

.accumulation-detail-inner .ps .ps__scrollbar-y-rail,
.accumulation-history .ps .ps__scrollbar-y-rail {
  opacity: 0.6 !important;
  background: transparent !important; }
  .accumulation-detail-inner .ps .ps__scrollbar-y-rail .ps__scrollbar-y,
  .accumulation-history .ps .ps__scrollbar-y-rail .ps__scrollbar-y {
    width: 10px !important; }

.accumulation-adjustment {
  width: 100%;
  padding: 15px 20px 0 20px;
  position: relative !important; }
  .accumulation-adjustment div[class=row] {
    margin-left: -15px;
    margin-right: -15px; }
  .accumulation-adjustment div[class^=col-] {
    padding-left: 15px;
    padding-right: 15px; }
  .accumulation-adjustment form > .container-fluid {
    padding: 0; }
  .accumulation-adjustment form .file-button-wrapper {
    padding-left: 15px; }
    @media (min-width: 990px) {
      .accumulation-adjustment form .file-button-wrapper {
        padding-left: 0; } }
    .accumulation-adjustment form .file-button-wrapper .upload {
      cursor: pointer;
      /* "hand" cursor */
      color: white;
      padding-left: 10px !important;
      padding-right: 10px !important;
      text-align: center;
      border-radius: 8px;
      border: none;
      transition: all 0.3s ease;
      height: 45px;
      background-color: #45c6f3;
      width: 100%;
      line-height: 45px; }
      .accumulation-adjustment form .file-button-wrapper .upload input {
        opacity: 0;
        display: none; }
      @media (min-width: 990px) {
        .accumulation-adjustment form .file-button-wrapper .upload {
          margin-top: 25px; } }
  .accumulation-adjustment form textarea {
    height: 104px; }
  .accumulation-adjustment .ellipsis-text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    white-space: nowrap; }
  .accumulation-adjustment .allowedBuckets-item {
    padding-left: 15px;
    padding-right: 15px; }
    @media (max-width: 450px) {
      .accumulation-adjustment .allowedBuckets-item {
        width: 100%; } }
  @media (max-width: 450px) {
    .accumulation-adjustment .form-group-buttons .btn-cancel {
      margin: 10px 0 0; }
    .accumulation-adjustment .form-group-buttons button {
      width: 100%; } }

.tiles {
  display: flex;
  justify-content: space-between;
  width: 50%; }
  .tiles.tiles-2 .tile {
    width: 50%; }
  @media (max-width: 520px) {
    .tiles.tiles-2 .tile {
      width: 100%; } }
  @media (max-width: 520px) {
    .tiles {
      width: 100%;
      flex-wrap: wrap;
      justify-content: center;
      flex-direction: column;
      align-content: center;
      text-align: center; } }
  .tiles .tile {
    border-left: 1px solid #ececec;
    padding: 0px 10px 20px 10px;
    margin-top: 20px; }
    .tiles .tile h3 {
      padding: 0;
      margin: 0; }
    @media (max-width: 520px) {
      .tiles .tile.gpo, .tiles .tile.wac {
        width: 100%;
        padding-right: 10px; } }
    @media (max-width: 520px) {
      .tiles .tile.b340 {
        padding-right: 10px; } }
  .tiles .subtiles {
    display: flex;
    width: 100%;
    justify-content: space-between; }
    @media (max-width: 520px) {
      .tiles .subtiles {
        display: flex;
        justify-content: center; } }
    .tiles .subtiles .subtile {
      padding-right: 10px; }

.accumulation-mark-drug {
  position: relative; }
  .accumulation-mark-drug .checkboxes {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px; }
    @media (min-width: 640px) {
      .accumulation-mark-drug .checkboxes {
        flex-wrap: nowrap; } }
    @media (min-width: 1152px) {
      .accumulation-mark-drug .checkboxes {
        width: 50%; } }
    .accumulation-mark-drug .checkboxes .checkbox {
      margin: 0;
      padding-right: 10px;
      padding-top: 3px; }
    @media (max-width: 450px) {
      .accumulation-mark-drug .checkboxes .radio-label {
        width: 100%;
        margin: 0; } }
  .accumulation-mark-drug .info-label {
    margin-bottom: 25px; }
  @media (max-width: 450px) {
    .accumulation-mark-drug .form-group-buttons .btn-cancel {
      margin: 10px 0 0; }
    .accumulation-mark-drug .form-group-buttons button {
      width: 100%; } }

.card-box--accumulation-wrapp .card-box__grid-col--content {
  padding: 0; }

.card-box--accumulation-wrapp .card-box.open > .card-box__grid-col--content {
  padding-top: 0; }

@media (min-width: 640px) and (max-width: 1152px) {
  .card-box--accumulation-wrapp .buttons-container .list-inline {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .card-box--accumulation-wrapp .buttons-container .list-inline::-webkit-scrollbar {
      display: none; } }

@media (min-width: 640px) {
  .card-box--accumulation-wrapp .buttons-container .list-inline {
    display: flex;
    justify-content: space-between; } }

@media (min-width: 1366px) {
  .card-box--accumulation-wrapp .buttons-container .list-inline {
    display: flex;
    justify-content: flex-start; } }

.card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab, .card-box--accumulation-wrapp .buttons-container .list-inline li {
  cursor: pointer;
  padding: 9px 30px;
  font-size: 16px;
  font-weight: 400;
  color: #35668F; }
  .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab:hover, .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab.active, .card-box--accumulation-wrapp .buttons-container .list-inline li:hover, .card-box--accumulation-wrapp .buttons-container .list-inline li.active {
    transition: 0.3s linear;
    background-color: #35668F;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600; }
  .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab__dropdown, .card-box--accumulation-wrapp .buttons-container .list-inline li__dropdown {
    position: absolute;
    z-index: 20;
    top: 40px;
    min-width: 200px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    left: 0;
    background: white;
    height: 0;
    overflow: hidden;
    visibility: hidden; }
    .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab__dropdown.open, .card-box--accumulation-wrapp .buttons-container .list-inline li__dropdown.open {
      height: unset;
      overflow: unset;
      visibility: visible; }
  @media (max-width: 640px) {
    .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab, .card-box--accumulation-wrapp .buttons-container .list-inline li {
      width: 100%; } }
  @media (min-width: 640px) and (max-width: 1152px) {
    .card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab, .card-box--accumulation-wrapp .buttons-container .list-inline li {
      min-width: 140px;
      text-align: center; } }

.card-box__grid--accumulation > .card-box__grid-col {
  width: 100%; }
  @media (min-width: 1280px) {
    .card-box__grid--accumulation > .card-box__grid-col {
      width: 45%;
      float: left; } }

.card-box__grid--accumulation > .tiles {
  width: 100%;
  border-top: 1px solid #B2E5FF; }
  @media (min-width: 1280px) {
    .card-box__grid--accumulation > .tiles {
      width: 50%;
      float: left;
      border-top: none; } }
  .card-box__grid--accumulation > .tiles h3 {
    font-size: 22px; }
  .card-box__grid--accumulation > .tiles .tile {
    margin-top: 0;
    padding-top: 20px; }

.card-box__grid--accumulation > .buttons-container .list-inline {
  display: flex;
  flex-wrap: wrap; }
  .card-box__grid--accumulation > .buttons-container .list-inline li {
    width: 50%; }
    @media (min-width: 990px) {
      .card-box__grid--accumulation > .buttons-container .list-inline li {
        width: auto; } }

.card-box__grid--accumulation > .card-box__grid-col--content {
  padding: 10px 5px 10px 30px; }

.card-box .accumulation-detail .accumulation-detail-history {
  width: 100%; }
  .card-box .accumulation-detail .accumulation-detail-history .history-header {
    padding: 15px 20px;
    border-bottom: 1px solid #99A0AB; }
    @media (max-width: 1151px) {
      .card-box .accumulation-detail .accumulation-detail-history .history-header {
        display: flex;
        flex-wrap: wrap;
        padding: 8px 20px; }
        .card-box .accumulation-detail .accumulation-detail-history .history-header > * {
          margin: 8px 0 !important; } }
    .card-box .accumulation-detail .accumulation-detail-history .history-header .date-range-input {
      display: flex;
      align-items: center;
      padding-right: 15px;
      margin: 0;
      float: left; }
      .card-box .accumulation-detail .accumulation-detail-history .history-header .date-range-input > span {
        white-space: nowrap;
        padding: 11px 15px; }
      .card-box .accumulation-detail .accumulation-detail-history .history-header .date-range-input > input {
        width: 200px; }
    .card-box .accumulation-detail .accumulation-detail-history .history-header .filter-by-user {
      display: flex;
      align-items: center;
      padding-right: 15px;
      margin: 0;
      float: left; }
      .card-box .accumulation-detail .accumulation-detail-history .history-header .filter-by-user > span {
        white-space: nowrap;
        padding: 11px 15px; }
      .card-box .accumulation-detail .accumulation-detail-history .history-header .filter-by-user .provider-select {
        min-width: 100px; }
    .card-box .accumulation-detail .accumulation-detail-history .history-header .btn-cancel {
      float: right;
      margin-right: 10px; }
  .card-box .accumulation-detail .accumulation-detail-history .accumulation-history {
    clear: both; }
    .card-box .accumulation-detail .accumulation-detail-history .accumulation-history .table-responsive {
      margin: 0; }
    .card-box .accumulation-detail .accumulation-detail-history .accumulation-history .table-container {
      max-height: 220px; }
      .card-box .accumulation-detail .accumulation-detail-history .accumulation-history .table-container .search-empty {
        text-align: center;
        height: 150px;
        vertical-align: middle; }
        .card-box .accumulation-detail .accumulation-detail-history .accumulation-history .table-container .search-empty--header {
          font-size: 18px;
          color: #ea1f19;
          margin-bottom: 0;
          font-weight: bold; }

.review {
  color: #de1927;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 20px 0; }

.locations-flag {
  color: #de1927;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 10px 5px 0;
  margin-left: 15px; }

.error-mrg {
  margin-bottom: 15px;
  padding: 0 15px; }
  .error-mrg > div > span {
    position: absolute;
    width: 350px; }

.remove-file {
  position: absolute;
  top: 30px;
  right: -10px;
  color: #ea1f19 !important; }

.loadMore-btn {
  cursor: pointer; }

.infinite-scroll-component {
  overflow: inherit !important; }

.container-fluid#container-scroll {
  overflow: unset !important; }

.card-box--accumulation-wrapp .buttons-container .list-inline .card-box__tab__dropdown {
  left: unset;
  right: 0; }

.rightSideBorder, .leftSideBorder {
  position: relative; }

.rightSideBorder::after, .leftSideBorder::after {
  content: "";
  position: absolute;
  height: 100%;
  background-color: #000000;
  width: 1px;
  right: -7px;
  top: 0px;
  bottom: 0px; }

.leftSideBorder::after {
  right: unset;
  left: -7px; }

.rightSidetags {
  margin-top: 20px; }

.pl-20 {
  padding-left: 20px; }

.accumulationRightSideLoader {
  position: relative;
  top: 200px; }

.purchaseBlocking h3 {
  color: #353e4a;
  font-weight: 100;
  font-family: "Proxima Nova";
  line-height: 1.4;
  font-size: 20px; }

.processingBlocks h3 {
  color: #353e4a;
  font-family: "Proxima Nova";
  line-height: 1.4;
  font-size: 20px; }
.ui2-export-modal-message {
  font-size: 18px; }
.top-searchbar--mapping .inputs-wrapper.search-panel {
  display: block; }
  .top-searchbar--mapping .inputs-wrapper.search-panel .select-search {
    width: 350px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-panel--mapping {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter-toggle--mapping {
    margin-top: -20px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .cdm-mapping {
    margin-top: 25px;
    display: inline-flex;
    max-width: 120px;
    margin-left: 1.5%; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
    right: 3%;
    top: 16px; }
    @media (min-width: 2560px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 5%; } }
    @media (min-width: 3000px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 8%; } }
    @media (min-width: 4400px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 10%; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel .btn-export-csv {
    margin-top: 26px; }

.top-searchbar--mapping .btn-group + .btn-group {
  margin-left: 1.5%; }

.top-searchbar--mapping .add-mapping-button {
  float: right;
  margin-top: 25px; }
.search-panel-user > .search-input-group > button {
  right: 1%; }
  @media (min-width: 2560px) {
    .search-panel-user > .search-input-group > button {
      right: 4%; } }

.search-panel-user .search-panel__left {
  display: flex;
  flex: 1; }
  .search-panel-user .search-panel__left .search-filter-toggle {
    margin-left: 60px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse; }
    .search-panel-user .search-panel__left .search-filter-toggle label {
      margin: 0 0 0 10px; }
  .search-panel-user .search-panel__left .select-simple {
    margin-left: 60px;
    display: flex;
    align-items: center; }
    .search-panel-user .search-panel__left .select-simple .Select {
      height: 45px;
      min-width: 200px; }
.search-panel-user > .search-input-group > button {
  right: 1%; }
  @media (min-width: 2560px) {
    .search-panel-user > .search-input-group > button {
      right: 4%; } }
.search-panel-provider > .search-input-group > button {
  right: 1%; }
  @media (min-width: 2560px) {
    .search-panel-provider > .search-input-group > button {
      right: 4%; } }

.top-searchbar--providers .inputs-wrapper.search-panel-provider {
  display: block; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .search-input-group {
    float: left; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .search-filter {
    float: left; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider > .add-provider {
    margin-top: 15px;
    float: right; }
  .top-searchbar--providers .inputs-wrapper.search-panel-provider .export__container {
    display: inline-flex;
    margin-top: 15px;
    float: right; }
.add-provider {
  padding: 15px;
  position: relative; }
  .add-provider .radio-label {
    padding-top: 0; }
  .add-provider__buttons {
    display: flex; }

.btn-export-csv {
  margin-left: auto;
  margin-right: 1.5%; }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right; }

.clear-location .locations-import {
  margin-top: 15px;
  float: right; }

.clear-location .search-filter {
  min-width: 240px;
  margin-top: -13px; }
.update-provider {
  padding: 15px;
  position: relative; }
  @media (min-width: 640px) {
    .update-provider {
      padding: 30px; } }
  .update-provider textarea {
    margin-bottom: 30px; }
  .update-provider .form-group-buttons {
    margin-top: 15px;
    display: flex; }
    @media (max-width: 450px) {
      .update-provider .form-group-buttons .btn-cancel {
        margin: 10px 0 0; }
      .update-provider .form-group-buttons button {
        width: 100%;
        float: none !important; }
      .update-provider .form-group-buttons .users_suspend-btn {
        margin: 10px 0 0; } }
  @media (max-width: 750px) {
    .update-provider .col-mobile {
      width: 100% !important; } }
.location-card-box {
  width: 100%; }
.users .header .search {
  max-width: 300px;
  float: left; }

.form-fields {
  min-height: 6em !important; }

.user-form .user-form-buttons {
  display: flex; }

.user-form .react-select__control .react-select__value-container--is-multi .react-select__multi-value {
  background-color: #35658fc2; }
  .user-form .react-select__control .react-select__value-container--is-multi .react-select__multi-value .react-select__multi-value__label {
    color: #fff; }
  .user-form .react-select__control .react-select__value-container--is-multi .react-select__multi-value .react-select__multi-value__remove {
    color: #fff; }

.users_suspend-btn {
  margin-right: 10px; }
.cloneuser-cancel {
  margin-top: -45px;
  margin-left: 162px !important; }
.search-panel-user > .search-input-group > button {
  right: 1%; }
  @media (min-width: 2560px) {
    .search-panel-user > .search-input-group > button {
      right: 4%; } }

.btn.btn-export-users.export__button--action {
  width: 170px;
  margin-left: 15px; }

.btn.btn-export-users .dropdown-menu {
  right: 0;
  left: auto; }
.top-searchbar--mapping .inputs-wrapper.search-panel {
  display: block; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-panel--mapping {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter-toggle--mapping {
    float: left;
    margin-right: 30px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
    float: left; }
    @media (min-width: 970px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
        float: right; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--timeframe {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
    right: 3%;
    top: 16px; }
    @media (min-width: 2560px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 5%; } }
    @media (min-width: 3000px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 8%; } }
    @media (min-width: 4400px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 10%; } }
.top-searchbar--mapping .inputs-wrapper.search-panel {
  display: block; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-panel--mapping {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter-toggle--mapping {
    float: left;
    margin-right: 30px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
    float: left; }
    @media (min-width: 970px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
        float: right; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--timeframe {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
    right: 3%;
    top: 16px; }
    @media (min-width: 2560px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 5%; } }
    @media (min-width: 3000px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 8%; } }
    @media (min-width: 4400px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 10%; } }

.top-searchbar--mapping .btn-group + .btn-group {
  margin-left: 1.5%; }

.top-searchbar--mapping .add-mapping-button {
  float: right;
  margin-top: 25px;
  height: 55px; }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right; }

.clear-location .search-filter {
  min-width: 240px; }
.update-provider {
  padding: 15px;
  position: relative; }
  @media (min-width: 640px) {
    .update-provider {
      padding: 30px; } }
  .update-provider textarea {
    margin-bottom: 30px; }
  .update-provider .form-group-buttons {
    margin-top: 15px;
    display: flex; }
    @media (max-width: 450px) {
      .update-provider .form-group-buttons .btn-cancel {
        margin: 10px 0 0; }
      .update-provider .form-group-buttons button {
        width: 100%;
        float: none !important; }
      .update-provider .form-group-buttons .users_suspend-btn {
        margin: 10px 0 0; } }
  @media (max-width: 750px) {
    .update-provider .col-mobile {
      width: 100% !important; } }
.location-card-box {
  width: 100%; }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right; }

.clear-location .search-filter {
  min-width: 240px; }

.clear-location .import-ce-sites {
  margin-left: 35%; }
.update-provider {
  padding: 15px;
  position: relative; }
  @media (min-width: 640px) {
    .update-provider {
      padding: 30px; } }
  .update-provider textarea {
    margin-bottom: 30px; }
  .update-provider .form-group-buttons {
    margin-top: 15px;
    display: flex; }
    @media (max-width: 450px) {
      .update-provider .form-group-buttons .btn-cancel {
        margin: 10px 0 0; }
      .update-provider .form-group-buttons button {
        width: 100%;
        float: none !important; }
      .update-provider .form-group-buttons .users_suspend-btn {
        margin: 10px 0 0; } }
  @media (max-width: 750px) {
    .update-provider .col-mobile {
      width: 100% !important; } }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right; }

.clear-location .search-filter {
  min-width: 240px; }
.update-provider {
  padding: 15px;
  position: relative; }
  .update-provider .accmulatorgrp-form .form-group-element {
    min-height: 13vh; }
  @media (min-width: 640px) {
    .update-provider {
      padding: 30px; } }
  .update-provider textarea {
    margin-bottom: 30px; }
  .update-provider .form-group-buttons {
    margin-top: 15px;
    display: flex; }
    @media (max-width: 450px) {
      .update-provider .form-group-buttons .btn-cancel {
        margin: 10px 0 0; }
      .update-provider .form-group-buttons button {
        width: 100%;
        float: none !important; }
      .update-provider .form-group-buttons .users_suspend-btn {
        margin: 10px 0 0; } }
  @media (max-width: 750px) {
    .update-provider .col-mobile {
      width: 100% !important; } }
.location-card-box {
  width: 100%; }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right;
  margin-left: auto; }

.clear-location .search-filter {
  min-width: 240px; }
.update-provider {
  padding: 15px;
  position: relative; }
  @media (min-width: 640px) {
    .update-provider {
      padding: 30px; } }
  .update-provider textarea {
    margin-bottom: 30px; }
  .update-provider .form-group-buttons {
    margin-top: 15px;
    display: flex; }
    @media (max-width: 450px) {
      .update-provider .form-group-buttons .btn-cancel {
        margin: 10px 0 0; }
      .update-provider .form-group-buttons button {
        width: 100%;
        float: none !important; }
      .update-provider .form-group-buttons .users_suspend-btn {
        margin: 10px 0 0; } }
  @media (max-width: 750px) {
    .update-provider .col-mobile {
      width: 100% !important; } }
.location-card-box {
  width: 100%; }

.price-history-export {
  margin-top: 10px;
  height: 41px;
  max-width: 230px;
  margin-left: 400%; }
.rep-group-info {
  text-align: right;
  width: 420px; }
  .rep-group-info__parent {
    text-transform: uppercase;
    color: #808080;
    font-size: 14px;
    margin-bottom: 0; }
  .rep-group-info__message {
    color: #808080;
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 0; }
  .rep-group-info .location-select__body {
    right: 0;
    left: auto;
    width: 400px; }
.audits-continue-list-table {
  background-color: white; }
  .audits-continue-list-table .audit-cell-center {
    text-align: center; }
  .audits-continue-list-table .rt-tr-group {
    height: 43px; }
  .audits-continue-list-table .audit-continue-Btn {
    height: unset;
    font-size: 14px;
    border: none; }
  .audits-continue-list-table .sign-btn {
    height: 28px;
    width: 100px;
    overflow: hidden;
    background: #00b3ee;
    border-color: #00b3ee;
    font-size: 14px;
    line-height: 21px; }
    .audits-continue-list-table .sign-btn:disabled {
      background: grey;
      border-color: grey; }
    .audits-continue-list-table .sign-btn:focus, .audits-continue-list-table .sign-btn:active, .audits-continue-list-table .sign-btn:hover {
      background: #00beff;
      border-color: #00beff; }
    .audits-continue-list-table .sign-btn .rxs-spinner {
      margin: 2px 0 0; }
      .audits-continue-list-table .sign-btn .rxs-spinner > div {
        background-color: white; }
  .audits-continue-list-table .singed-btn:disabled {
    background: #00b3eead;
    border-color: #00b3eead; }
  .audits-continue-list-table .custom-noData {
    text-align: center; }

.view-icon {
  font-size: 20px;
  margin-left: 25%;
  margin-top: 1%; }
.audits-completed-list-table {
  background-color: white; }
  .audits-completed-list-table .audit-cell-center {
    text-align: center; }
  .audits-completed-list-table .audit-continue-Btn {
    height: unset;
    font-size: 14px;
    border: none; }
  .audits-completed-list-table .rt-tr-group {
    height: 43px; }
    .audits-completed-list-table .rt-tr-group .rt-td {
      line-height: 28px; }
  .audits-completed-list-table .custom-noData {
    text-align: center; }
.reports-search-panel {
  display: flex;
  justify-content: space-between;
  margin-top: -20px; }
  .reports-search-panel--left {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    flex: 1; }
    .reports-search-panel--left > div {
      margin-right: 1.5%;
      margin-top: 20px; }
    .reports-search-panel--left .ui2-date-range-picker--dropdown {
      margin-right: 0px; }
    .reports-search-panel--left .icomoon-support.date-range-info {
      margin-bottom: 13px;
      margin-left: 5px;
      font-weight: bold;
      cursor: pointer;
      margin-right: 15px; }
    .reports-search-panel--left .form-group.search-input-group {
      margin-bottom: 0px !important; }
      .reports-search-panel--left .form-group.search-input-group .icomoon-search {
        top: 13px; }
.reports-loader {
  width: 100%;
  height: 100%;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .reports-loader__text {
    margin-top: 25px;
    font-size: 36px;
    text-align: center;
    color: #929292;
    max-width: 720px; }
.reports-summary {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 2px solid #eee;
  border-bottom: 2px solid #eee;
  margin: 20px 0; }
  .reports-summary__info span {
    font-weight: bold; }
  .reports-summary__info p {
    color: #929292; }
  .reports-summary__actions {
    display: flex; }
  .reports-summary__offline {
    display: flex; }
.add-block-gpi .add-block-gpi-form {
  width: 100%; }
  .add-block-gpi .add-block-gpi-form .cdm-check {
    height: 86px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0; }
    .add-block-gpi .add-block-gpi-form .cdm-check .glyphicon {
      font-size: 30px;
      padding: 0 10px;
      color: #5cb85c;
      width: 60px; }
    .add-block-gpi .add-block-gpi-form .cdm-check .glyphicon-remove {
      color: #ea1f19; }
  .add-block-gpi .add-block-gpi-form .form-group-buttons {
    display: flex; }

.add-block-gpi .cards-list-container {
  float: left;
  width: 100%;
  flex: none;
  display: contents; }
.reports-search-panel {
  display: flex;
  justify-content: space-between;
  margin-top: -20px; }
  .reports-search-panel--left {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    flex: 1; }
    .reports-search-panel--left > div {
      margin-right: 1.5%;
      margin-top: 20px; }
  .reports-search-panel .btn + .side-drawer__filters {
    margin-left: 15px; }
  .reports-search-panel .form-group.search-input-group {
    margin-bottom: 5px; }
    .reports-search-panel .form-group.search-input-group .icomoon-search {
      top: 13px; }
  .reports-search-panel .ui2-report-header header {
    border-bottom: 0px;
    margin-bottom: 10px; }
    .reports-search-panel .ui2-report-header header .side-drawer__filters__header--title {
      border-bottom: 1px solid #2c795e;
      color: #2c795e; }
  .reports-search-panel .ui2-report-header .checkbox-group {
    padding: 0px; }

.reports-date-range-picker {
  margin-top: 17px; }

.search-filter-select-report .react-select__control {
  height: 39px;
  width: 200px;
  border-radius: 8px;
  box-shadow: none;
  margin-top: 17px;
  min-height: 0px; }
.invoice-component .card-box.open:last-child {
  margin-bottom: 15px; }

.invoice-component .export_btn {
  margin: 10px;
  text-align: end; }

.invoice-component .title-component div {
  display: inline-block; }

.invoice-component .title-component .status-icon {
  color: #71af74;
  margin-left: 8px;
  font-size: 20px; }

.invoice-component .ag-theme-alpine .ag-row {
  font-size: 16px; }
.central-fill-reports .ui2-reports-table__wrapper {
  height: 500px; }

.central-fill-reports .claims-review-search-input .btn-clear {
  right: 140px !important; }

.central-fill-reports .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.central-fill-reports .ui2-top-headers-left {
  flex: 1; }

.central-fill-reports .linkComponent {
  color: #90bd7c; }

.central-fill-reports .linkComponent:hover {
  text-decoration: underline;
  cursor: pointer; }

.central-fill-reports .card-box {
  margin-bottom: 150px; }

.central-fill-reports .summary-column {
  color: #90bd7c; }

.central-fill-reports .ag-theme-alpine .ag-row {
  font-size: 16px; }

.central-fill-reports .ag-row-pinned {
  background-color: #1F497D;
  color: white; }
.central-fill-reports .ui2-reports-table__wrapper {
  height: 500px; }

.central-fill-reports .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.central-fill-reports .ui2-top-headers-left {
  flex: 1; }

.central-fill-reports .linkComponent {
  color: #90bd7c; }

.central-fill-reports .linkComponent:hover {
  text-decoration: underline;
  cursor: pointer; }

.central-fill-reports .card-box {
  margin-bottom: 150px; }

.central-fill-reports .summary-column {
  color: #90bd7c; }

.central-fill-reports .ag-theme-alpine .ag-row {
  font-size: 16px; }

.central-fill-reports .ag-row-pinned {
  background-color: #1f497d;
  color: white; }

.overlay-no-rows {
  padding: 10px; }
.fee-formulary .tooltip-wrapper.contract-formularyGroup-search {
  grid-template-columns: minmax(100px, 500px) !important;
  max-width: 500px; }

.fee-formulary .form-container .form-group {
  margin-right: 10px;
  margin-bottom: 5px !important; }

.fee-formulary .form-container {
  background-color: white;
  padding: 15px;
  margin-bottom: 20px; }

.fee-formulary .btn-container {
  display: flex; }
  .fee-formulary .btn-container button {
    margin-right: 10px; }

.fee-formulary .title-component .claim-adjustment-header,
.fee-formulary .title-component .status-icon {
  display: inline-block; }

.fee-formulary .title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.fee-formulary .title-component .status-icon {
  margin-left: 10px; }
  .fee-formulary .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.fee-formulary .card-box__content-wrapper {
  padding: 10px; }

.fee-formulary .eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.fee-formulary .eligibility-container .eligibity-add-btn {
  flex: 1; }
  .fee-formulary .eligibility-container .eligibity-add-btn button {
    float: right; }

.fee-formulary .ui2-reports-table__wrapper {
  height: 300px !important; }

.fee-formulary .date-range-picker--dropdown {
  margin-top: 0px; }

.fee-formulary .date-range-picker--dropdown__header input {
  min-width: 0px; }

.fee-formulary .react-table-form .ui2-react-table__td {
  overflow: inherit; }

.fee-formulary .btn-styles {
  color: #8ab14e; }

.fee-formulary .btn-styles,
.fee-formulary .btn-styles:hover,
.fee-formulary .btn-styles:active,
.fee-formulary .btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px; }

.fee-formulary .btn-styles:hover,
.fee-formulary .btn-styles:active,
.fee-formulary .btn-styles:focus {
  color: #62842f; }

.fee-formulary .display-inlie {
  display: inline; }

.fee-formulary .form-btn-container {
  margin-top: 15px; }

.fee-formulary .text-center-align {
  text-align: center;
  margin: auto; }

.fee-formulary .ce-wholesaler-form {
  position: relative; }
  .fee-formulary .ce-wholesaler-form .overlay {
    position: absolute; }

.fee-formulary .network-label {
  margin-top: 18px; }

.fee-formulary .contract-wholesaler-search.search-input-group {
  width: 480px !important;
  margin-right: 10px !important; }
  .fee-formulary .contract-wholesaler-search.search-input-group input {
    height: 45px !important; }
  .fee-formulary .contract-wholesaler-search.search-input-group .icomoon-search {
    top: 12px; }

.fee-Formulary-add-btn {
  left: 70%;
  position: relative;
  margin-bottom: 10px; }

.formulary-group-search {
  width: 75%; }

.feeFormulary-export {
  margin-top: 20px; }
.bucket-type__title {
  font-size: 22px; }
.bucket-type__section {
  margin-top: 15px; }

.bucket-type__section_label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: bold; }

.bucket-type__section_text {
  font-size: 16px; }
.accumulation-detail .similarproducts-detail-inner {
  padding-bottom: 0; }
  .accumulation-detail .similarproducts-detail-inner .table-similar-container {
    margin-bottom: 0; }

.purchase-products-header {
  border-bottom: 1px solid #99A0AB;
  display: flex;
  flex-flow: row wrap;
  padding: 10px 20px 10px;
  justify-content: space-between;
  width: 100%; }
  @media (min-width: 990px) {
    .purchase-products-header {
      flex-flow: row nowrap; } }
  .purchase-products-header .purchase-products-qualification {
    padding-left: 15px;
    display: flex;
    align-items: center; }
    @media (min-width: 1366px) {
      .purchase-products-header .purchase-products-qualification {
        width: 300px; } }
    .purchase-products-header .purchase-products-qualification > span {
      padding: 0 10px; }
  .purchase-products-header .Select {
    min-width: 100px; }
    @media (min-width: 375px) {
      .purchase-products-header .Select {
        min-width: 145px;
        margin-bottom: 15px; } }
    @media (min-width: 425px) {
      .purchase-products-header .Select {
        min-width: 116px;
        max-width: 116px;
        display: inline-block;
        margin-right: 15px; } }
    @media (min-width: 990px) {
      .purchase-products-header .Select {
        width: 100%;
        min-width: 170px;
        max-width: 170px; } }
    @media (min-width: 1152px) {
      .purchase-products-header .Select {
        min-width: 120px;
        max-width: 120px; } }
  .purchase-products-header .btn.btn-export-csv {
    float: none;
    display: inline-block;
    vertical-align: top; }
    @media (min-width: 375px) {
      .purchase-products-header .btn.btn-export-csv {
        margin-bottom: 15px;
        margin-left: 0; } }
  .purchase-products-header .btn-cancel {
    margin: 0 0 15px 15px; }
    @media (min-width: 375px) {
      .purchase-products-header .btn-cancel {
        margin-left: 0 !important; } }
    @media (min-width: 1152px) {
      .purchase-products-header .btn-cancel {
        margin: 0 0 0 15px; } }
  .purchase-products-header .export__container {
    margin-right: 15px; }
  .purchase-products-header .date-range-picker--dropdown {
    display: inline-block;
    min-width: 201px;
    vertical-align: top; }
  @media (min-width: 375px) {
    .purchase-products-header .DateRangePicker {
      margin-bottom: 10px; } }
  @media (min-width: 425px) {
    .purchase-products-header .DateRangePicker {
      vertical-align: top;
      display: inline-block;
      min-width: 201px; } }
  .purchase-products-header .counter {
    display: inline-block;
    line-height: 45px;
    vertical-align: top;
    margin-left: 15px; }

.batches-header {
  border-bottom: 1px solid #99A0AB;
  display: flex;
  flex-flow: row wrap;
  padding: 10px 20px 0;
  justify-content: normal;
  width: 100%; }
  .batches-header .counter {
    display: inline-block;
    line-height: 45px;
    vertical-align: top;
    margin-left: 200px; }
.accumulation-detail-inner {
  padding: 0 0 20px;
  width: 100%; }
  .accumulation-detail-inner table {
    margin: 0; }
  .accumulation-detail-inner .dispensation-header {
    padding: 15px 20px;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #99A0AB; }
    @media (min-width: 1366px) {
      .accumulation-detail-inner .dispensation-header {
        flex-wrap: nowrap; } }
    @media (min-width: 640px) {
      .accumulation-detail-inner .dispensation-header {
        justify-content: space-between; } }
    @media (max-width: 640px) {
      .accumulation-detail-inner .dispensation-header {
        flex-direction: column;
        align-items: center; } }
    .accumulation-detail-inner .dispensation-header .Select {
      min-width: 100px; }
      @media (min-width: 375px) {
        .accumulation-detail-inner .dispensation-header .Select {
          min-width: 145px; } }
      @media (min-width: 425px) {
        .accumulation-detail-inner .dispensation-header .Select {
          min-width: 170px; } }
      @media (min-width: 990px) {
        .accumulation-detail-inner .dispensation-header .Select {
          width: 100%; } }
      @media (min-width: 1152px) {
        .accumulation-detail-inner .dispensation-header .Select {
          min-width: 170px; } }
      @media (min-width: 1366px) {
        .accumulation-detail-inner .dispensation-header .Select {
          margin-right: 10px; } }
    @media (min-width: 1366px) {
      .accumulation-detail-inner .dispensation-header .form-group {
        margin-bottom: 0; } }
    .accumulation-detail-inner .dispensation-header .clear-input {
      position: relative; }
      @media (max-width: 1151px) {
        .accumulation-detail-inner .dispensation-header .clear-input {
          width: 50%; } }
      @media (max-width: 640px) {
        .accumulation-detail-inner .dispensation-header .clear-input {
          width: 100%;
          margin-bottom: 15px; } }
      .accumulation-detail-inner .dispensation-header .clear-input input {
        outline: 0;
        width: 100%;
        height: 45px;
        border-radius: 8px;
        border: 1px solid #CDCDCD;
        padding: 0 20px; }
        @media (min-width: 1152px) {
          .accumulation-detail-inner .dispensation-header .clear-input input {
            width: 360px; } }
        .accumulation-detail-inner .dispensation-header .clear-input input.search-active {
          padding-right: 80px; }
      .accumulation-detail-inner .dispensation-header .clear-input button {
        position: absolute;
        top: 8px;
        right: 8px;
        padding: 0;
        outline: 0; }
        .accumulation-detail-inner .dispensation-header .clear-input button.disabled {
          display: none; }
    .accumulation-detail-inner .dispensation-header .provider-select,
    .accumulation-detail-inner .dispensation-header .location-select {
      max-width: 160px;
      min-width: 80px; }
    .accumulation-detail-inner .dispensation-header .date-range-input {
      width: 255px; }
      @media (max-width: 1151px) {
        .accumulation-detail-inner .dispensation-header .date-range-input {
          width: 50%; } }
      @media (max-width: 989px) {
        .accumulation-detail-inner .dispensation-header .date-range-input {
          width: auto; } }
      .accumulation-detail-inner .dispensation-header .date-range-input .date-range-input {
        width: 100%; }
    .accumulation-detail-inner .dispensation-header .horizontal-form, .accumulation-detail-inner .dispensation-header .date-range-input {
      display: flex;
      align-items: center; }
      @media (min-width: 1366px) {
        .accumulation-detail-inner .dispensation-header .horizontal-form, .accumulation-detail-inner .dispensation-header .date-range-input {
          min-width: 300px; } }
      .accumulation-detail-inner .dispensation-header .horizontal-form > span, .accumulation-detail-inner .dispensation-header .date-range-input > span {
        padding: 0 10px; }
  .accumulation-detail-inner .search-empty {
    text-align: center;
    height: 150px;
    vertical-align: middle; }
    .accumulation-detail-inner .search-empty--header {
      font-size: 16px;
      color: #de1927;
      margin-bottom: 0;
      font-weight: bold; }
  .accumulation-detail-inner .table-wrapper {
    padding: 20px 20px 0 20px; }
  .accumulation-detail-inner .contract-block-item-form {
    padding: 20px 30px; }
    .accumulation-detail-inner .contract-block-item-form .checkboxes {
      display: flex; }
      .accumulation-detail-inner .contract-block-item-form .checkboxes > div {
        margin-right: 40px; }

.table-container {
  max-height: 220px;
  position: relative;
  overflow: hidden; }
  .table-container .disp-load-more {
    cursor: pointer; }
  .table-container .dispensations-table > tbody > tr > td {
    padding-left: 5px; }

.table-wrapper th {
  border-top: 2px solid #ddd !important;
  cursor: pointer; }

.table-wrapper th.desc {
  border-bottom: 2px solid #35668F !important; }

.table-wrapper th.asc {
  border-top: 2px solid #35668F !important; }

.loadMore-btn {
  cursor: pointer; }

.loading-more {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 0; }
  .loading-more .rxs-spinner {
    margin-top: 0; }

.qualifications-table-container .simple-table--header .header--element {
  font-size: 16px;
  font-weight: 700;
  align-items: center; }

.qualifications-table-container .simple-table--body > .overlay {
  position: relative; }

@media (min-width: 1190px) and (max-width: 1259px) {
  .csv-grid-fix {
    margin-right: 100px; } }

.btn-adjustment {
  margin-right: 15px; }

.qualifications-grid-container {
  min-height: 200px;
  justify-content: center;
  align-items: center; }

.qualifications-grid-container .emptyClaimsContainer {
  min-height: 200px;
  display: flex;
  justify-content: center;
  align-items: center; }

.batches-header.no-wrap-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  column-gap: 60px;
  padding: 10px 30px; }

.bucket-counter {
  font-size: 17px;
  white-space: nowrap; }
.block-order {
  display: flex;
  padding: 20px 30px; }
  .block-order__buckets-wrapper {
    flex: 1;
    padding-right: 15px;
    width: 50%;
    min-width: 300px; }
  .block-order__buckets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 16px; }
  .block-order__bucket {
    padding: 10px 15px 10px 0;
    position: relative;
    border-right: 1px solid #d3d3d3; }
    .block-order__bucket--default {
      max-width: 160px;
      min-width: 145px;
      color: #9e9e9e; }
    .block-order__bucket:last-of-type {
      border: none; }
    .block-order__bucket h5 {
      font-size: 24px; }
    .block-order__bucket .radio, .block-order__bucket .checkbox {
      margin-bottom: 0; }
  .block-order__complete {
    padding-left: 15px;
    border-left: 1px solid #d3d3d3;
    width: 50%;
    min-width: 300px; }
    .block-order__complete--info {
      display: flex;
      align-items: center; }
      .block-order__complete--info p {
        margin: 0; }
      .block-order__complete--info .box-important {
        width: 35px;
        height: 35px; }
    .block-order__complete .block-order__bucket {
      border: none; }
    .block-order__complete .btn {
      float: right; }

.arrow-wrapper {
  border-radius: 50%;
  display: inline;
  position: absolute;
  right: -18px;
  margin: 0;
  width: 36px;
  height: 36px;
  top: 37px;
  padding: 3px;
  background-color: #ffffff; }
  .arrow-wrapper .glyphicon {
    color: #9DCF62;
    font-size: 30px; }
.ui2-ledger {
  display: flex;
  padding: 20px; }
  .ui2-ledger__tabs {
    padding-right: 30px;
    width: 300px; }
    .ui2-ledger__tabs--note {
      margin-top: 20px; }
      .ui2-ledger__tabs--note p {
        margin-top: 20px;
        font-size: 13px;
        color: #99a0ab;
        font-weight: 600; }
  .ui2-ledger__navbar-tabs {
    border-radius: 5px;
    border: 1px solid #35668F;
    background-color: #ffffff;
    margin: 0;
    display: flex;
    flex-wrap: wrap; }
    .ui2-ledger__navbar-tabs--item {
      flex: 1 1 auto; }
      .ui2-ledger__navbar-tabs--item.active a {
        border-radius: 4px;
        background-color: #35668F !important;
        color: #fff !important; }
      .ui2-ledger__navbar-tabs--item a {
        padding: 9px 17px !important;
        border-radius: 5px;
        background-color: #fff;
        color: #35668F !important;
        font-size: 14px;
        font-weight: 700; }
  .ui2-ledger__summary__header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px; }
    .ui2-ledger__summary__header h3 {
      margin: 0 0 20px 0;
      font-weight: bold;
      font-size: 24px; }
  .ui2-ledger__dates {
    width: 380px;
    padding-left: 20px; }
    .ui2-ledger__dates__header {
      margin: 0 0 20px 0;
      font-weight: bold;
      font-size: 24px; }
    .ui2-ledger__dates__body {
      display: flex;
      flex-wrap: wrap; }
  .ui2-ledger__table {
    table-layout: auto;
    width: 570px; }
    .ui2-ledger__table thead {
      border-bottom: 2px solid #35668F; }
      .ui2-ledger__table thead tr th {
        padding-top: 7px;
        padding-bottom: 7px;
        text-align: right;
        color: #99a0ab; }
        .ui2-ledger__table thead tr th:last-child {
          padding-right: 15px; }
    .ui2-ledger__table tbody tr:nth-child(even) {
      background: #ECECEC; }
      .ui2-ledger__table tbody tr:nth-child(even).exceptions-row {
        background: #FFFFFF; }
    .ui2-ledger__table tbody tr td {
      padding-top: 6px;
      padding-bottom: 6px;
      text-align: right;
      color: #55606E;
      font-size: 15px;
      font-weight: bold; }
      .ui2-ledger__table tbody tr td:first-child {
        text-align: left;
        padding-left: 15px; }
      .ui2-ledger__table tbody tr td:last-child {
        padding-right: 15px; }
    .ui2-ledger__table tbody tr.exceptions-row {
      border-top: 2px solid #E4414C;
      border-bottom: 2px solid #E4414C; }
      .ui2-ledger__table tbody tr.exceptions-row > td {
        color: #E4414C; }
    .ui2-ledger__table tfoot {
      border-top: 2px solid #35668F; }
      .ui2-ledger__table tfoot td {
        font-size: 20px;
        color: #55606E;
        font-weight: bold;
        padding-top: 15px;
        padding-bottom: 15px; }
        .ui2-ledger__table tfoot td:first-child {
          padding-left: 15px; }
    .ui2-ledger__table__cell--packages {
      width: 140px;
      padding-right: 15px;
      padding-left: 40px;
      text-align: right;
      position: relative; }
    .ui2-ledger__table__cell--type {
      width: 180px; }
    .ui2-ledger__table__cell--total {
      width: 120px; }
    .ui2-ledger__table__cell--qty {
      width: 120px; }
    .ui2-ledger__table__cell--loading {
      height: 100px;
      position: relative; }
      .ui2-ledger__table__cell--loading > .rxs-spinner {
        position: absolute;
        top: calc(50% - 20px);
        left: calc(50% - 20px); }
    .ui2-ledger__table .icomoon-plus {
      font-size: 12px;
      position: absolute;
      left: 25px;
      top: 9px; }
      .ui2-ledger__table .icomoon-plus:before {
        color: #29D023; }
    .ui2-ledger__table .icomoon-minus {
      font-size: 2px;
      position: absolute;
      left: 25px;
      top: 15px; }
      .ui2-ledger__table .icomoon-minus:before {
        color: #E4414C; }
.manual-order-btn-container {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
  margin-left: 10px; }
  .manual-order-btn-container button:not(:last-child) {
    margin-right: 10px; }

.date-range-picker--dropdown {
  margin-top: 10px; }

.manual-order-overlay {
  position: relative; }

.order-not-found {
  color: red;
  font-size: 17px;
  margin-left: 25px; }
.price-section .package-price-label, .price-section .updated-date-label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: bold;
  margin-top: 15px; }

.price-section .package-price, .price-section .updated-date {
  font-size: 16px; }
.accumulation-details .card-box__content {
  display: flex; }

.accumulation-details .drug-info {
  width: 700px;
  flex: 1; }
.ui2-match-error {
  display: flex;
  margin-left: 20px; }
  .ui2-match-error__label {
    line-height: 22px;
    font-weight: bold; }
  .ui2-match-error__img {
    height: 18px;
    width: 18px;
    margin: 2px 2px 2px 8px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    background-image: url("/imgs/icons/icons8-error.png"); }
.dashboard-box {
  margin-bottom: 50px;
  background-color: #fff;
  padding: 35px; }
  .dashboard-box .alerts--title {
    font-size: 24px;
    font-weight: 600; }

.chart-white--blocks table.file-drops {
  width: 100%; }
  .chart-white--blocks table.file-drops tr {
    border-bottom: 1px solid #cdcdcd; }
  .chart-white--blocks table.file-drops thead {
    text-align: center;
    color: #99a0ab; }
    .chart-white--blocks table.file-drops thead td {
      padding: 5px 0; }
  .chart-white--blocks table.file-drops tbody {
    background-color: #FFF; }
    .chart-white--blocks table.file-drops tbody td {
      padding: 5px 0;
      text-align: center; }
    .chart-white--blocks table.file-drops tbody .icon-fontello-ok-circle {
      font-size: 30px;
      color: #14b302; }
    .chart-white--blocks table.file-drops tbody .icon-fontello-cancel-circle {
      font-size: 30px;
      color: #c50000; }
    .chart-white--blocks table.file-drops tbody tr td:first-child {
      font-weight: 600;
      border-left: 1px solid #cdcdcd; }
    .chart-white--blocks table.file-drops tbody tr:nth-child(odd) {
      background-color: #FFF; }
    .chart-white--blocks table.file-drops tbody tr td:last-child {
      border-right: 1px solid #cdcdcd; }

.alert-view-btn {
  height: 30px !important; }

.alerts-react-table .ui2-react-table__tbody {
  height: 183px; }
.daemons__list {
  margin: 0;
  padding: 0;
  text-decoration: none;
  list-style: none; }
  .daemons__list--item {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    align-items: center; }
    .daemons__list--item--title {
      font-weight: 600; }
    .daemons__list--item .icon-fontello-ok-circle {
      font-size: 30px;
      color: #14b302; }
    .daemons__list--item .icon-fontello-cancel-circle {
      font-size: 30px;
      color: #c50000; }

.chart-white--blocks table.claims-processed-table thead tr td {
  padding-right: 15px;
  white-space: nowrap; }
  .chart-white--blocks table.claims-processed-table thead tr td h4 {
    margin-top: 20px;
    font-size: 20px; }

.chart-white--blocks table.claims-processed-table tbody tr:nth-child(odd) {
  background-color: #FFFFFF; }

.chart-white--blocks table.claims-processed-table tbody tr td {
  padding: 0;
  border: none; }
  .chart-white--blocks table.claims-processed-table tbody tr td.claims-value {
    font-size: 3rem;
    font-weight: 600; }
  .chart-white--blocks table.claims-processed-table tbody tr td.claims-label {
    font-size: 2.2rem; }
.ce-locations__submit-btn {
  margin-right: 5px; }

.sampletemplate img {
  width: auto;
  height: 30px;
  margin-bottom: 6px;
  margin-left: -8px;
  cursor: pointer; }

.card-box__title {
  margin-top: 10px;
  margin-left: 10px; }

.card-box__content {
  margin: 10px; }

.rx-eligible-locations-flag {
  color: #37de19;
  font-size: 20px;
  font-weight: 600;
  padding: 5px 10px 5px 0;
  margin-left: 15px; }

.rx-locations-flag {
  color: #de1927;
  font-size: 20px;
  font-weight: 600;
  padding: 5px 10px 5px 0;
  margin-left: 15px; }

.contract-location-search.search-input-group {
  width: 450px !important;
  margin-right: 10px !important; }
  .contract-location-search.search-input-group input {
    height: 45px !important; }
  .contract-location-search.search-input-group .icomoon-search {
    top: 12px; }

.ce-locations-from {
  background-color: white;
  margin-bottom: 20px;
  position: relative; }
  .ce-locations-from .form-container {
    padding: 15px; }
  .ce-locations-from .btn-container {
    display: flex; }
    .ce-locations-from .btn-container button {
      margin-left: 5px; }
  .ce-locations-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .ce-locations-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }

.ce-maplocations-from {
  background-color: white;
  margin-bottom: 20px;
  position: relative; }
  .ce-maplocations-from .form-container {
    padding: 15px; }
    .ce-maplocations-from .form-container .tool-tip-message {
      position: relative;
      top: 40px;
      z-index: 9999; }
    .ce-maplocations-from .form-container .siteName-style {
      bottom: 24px;
      position: relative; }
  .ce-maplocations-from .btn-container {
    display: flex; }
    .ce-maplocations-from .btn-container button {
      margin-left: 5px; }
  .ce-maplocations-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
    .ce-maplocations-from .mcr-fields .form-group .siteName {
      top: -23px; }
  .ce-maplocations-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }
.rx-management-location-search-panel .ui2-top-header__filters {
  display: block !important; }
  .rx-management-location-search-panel .ui2-top-header__filters .leftHeaderPanel {
    display: flex;
    align-items: flex-end;
    margin: 0px 0px 15px 0px; }
  .rx-management-location-search-panel .ui2-top-header__filters .rightHeaderPanel {
    display: flex;
    justify-content: flex-end;
    margin: 0px; }

#body.contract_rx .rx-management-location-search-panel .tooltip-wrapper.location-search-panel__location-filter-select {
  grid-template-columns: minmax(100px, 150px); }
  #body.contract_rx .rx-management-location-search-panel .tooltip-wrapper.location-search-panel__location-filter-select .react-select__control {
    height: 39px;
    width: 150px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }
  #body.contract_rx .rx-management-location-search-panel .tooltip-wrapper.location-search-panel__location-filter-select .react-select__menu {
    width: 100%; }
.form-import {
  background-color: white;
  margin-bottom: 20px; }
  .form-import .form-import {
    padding: 15px; }
.claim-box .card-box__detail {
  width: 15%; }

.claim-box .card-box__detail-value {
  white-space: nowrap; }

.claim-box .box-header {
  width: 16%; }

.claim-box .card-box-detail-max-label {
  width: 30%; }

.claim-adjustment-header div {
  vertical-align: middle;
  display: inline; }

.claim-adjustment-header .approval-info {
  margin-left: 5px;
  color: #0ca789;
  font-size: 16px; }

.card-box .header-value-label {
  color: #353e4a;
  margin-left: 8px; }
.search-panel-container {
  padding: 5px 25px; }
  .search-panel-container .filter_element {
    min-width: 180px;
    width: auto;
    display: inline-block;
    vertical-align: top; }
.queued-reports .open-link {
  padding-left: 5px;
  color: #35668F;
  text-decoration: underline; }

.queued-reports .open-link:hover {
  text-decoration: none;
  color: #353e4a; }

.queued-reports table > tbody > tr.queued-reports--not-found:hover {
  background: white; }

.queued-reports table > tbody > tr.queued-reports--not-found > td {
  height: 300px;
  text-align: center;
  vertical-align: middle;
  color: #808080;
  font-weight: bold;
  font-size: 18px; }

.queued-reports--table {
  table-layout: fixed;
  word-wrap: break-word;
  margin-top: 50px;
  border: none; }
  .queued-reports--table thead {
    border-bottom: 2px solid #ACACAC; }
    .queued-reports--table thead th {
      color: #808080;
      font-weight: bold; }
  .queued-reports--table tbody tr:nth-child(odd) {
    background: white; }
    .queued-reports--table tbody tr:nth-child(odd):hover {
      background: whitesmoke; }
  .queued-reports--table tbody tr:nth-child(even) {
    background: #F9FAFB; }
    .queued-reports--table tbody tr:nth-child(even):hover {
      background: #edf0f3; }

.queued-reports--th__requested_date {
  width: 200px; }

.queued-reports--th__type {
  width: 200px; }

.queued-reports--th__status {
  width: 150px; }

.queued-reports--th__download {
  width: 210px; }

.queued-reports .queued-report-info {
  display: flex;
  align-items: flex-end;
  width: 100%;
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #1A1A1A; }
  .queued-reports .queued-report-info:before, .queued-reports .queued-report-info:after {
    content: "";
    height: 2px;
    width: 100%;
    background: #E6E6E6;
    position: absolute;
    top: 0; }
  .queued-reports .queued-report-info:after {
    bottom: 0;
    top: auto; }
  .queued-reports .queued-report-info > img {
    width: 50px;
    margin-right: 10px; }
  .queued-reports .queued-report-info .queued-reports-info-body {
    width: 580px; }

.queued-reports .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.queued-reports .ui2-top-headers-left {
  flex: 1; }

.item-status {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  font-size: 16px;
  color: #1A1A1A;
  height: 28px; }
  .item-status__new:before, .item-status__preparing:before, .item-status__ready:before, .item-status__expired:before, .item-status__broken:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 10px;
    position: absolute;
    top: calc(50% - 8px);
    left: 0; }
  .item-status__new:before, .item-status__preparing:before {
    background-color: #FAC710; }
  .item-status__ready:before {
    background-color: #8FD14F; }
  .item-status__expired:before, .item-status__broken:before {
    background-color: #F24726; }

.item--link {
  color: #35668F;
  text-decoration: underline;
  cursor: pointer; }
  .item--link:hover {
    color: #353e4a; }
  .item--link__right {
    float: right; }
.download-link {
  color: #35668F;
  text-decoration: underline;
  cursor: pointer; }
  .download-link:hover, .download-link:focus, .download-link:active {
    color: #353e4a; }
  .download-link__in-progress {
    cursor: default;
    text-decoration: none;
    color: #353e4a;
    font-weight: bold; }
  .download-link .rxs-spinner {
    margin-top: 0;
    margin-left: 35px; }
.display-report-component {
  margin-left: 25px; }
  .display-report-component .header {
    margin-top: 5px; }
  .display-report-component .no-data-component {
    height: 100%;
    width: 60%;
    margin: 0 auto;
    text-align: center;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 20px; }
  .display-report-component .report-component {
    margin-top: 15px; }
    .display-report-component .report-component .download-link {
      margin-bottom: 5px; }
    .display-report-component .report-component .table-component {
      height: 82vh;
      overflow: scroll; }
.capture-rate-chart__title {
  margin: 0;
  font-size: 14px;
  color: #d3d3d3; }

.capture-rate-chart__body {
  display: flex;
  justify-content: space-between; }

.capture-rate-chart__legend {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 1 150px; }
  .capture-rate-chart__legend__item {
    text-align: center;
    margin-bottom: 15px; }
    .capture-rate-chart__legend__item--value {
      font-weight: bold;
      font-size: 28px; }
    .capture-rate-chart__legend__item--label {
      color: #808080;
      font-size-adjust: 14px; }

.capture-rate-chart__chart {
  min-height: 200px; }
  .capture-rate-chart__chart--loading {
    display: flex;
    flex: 1;
    align-items: center; }
  .capture-rate-chart__chart--no-data {
    display: flex;
    align-items: center;
    justify-content: center; }
    .capture-rate-chart__chart--no-data p {
      font-size: 20px;
      color: #d3d3d3;
      font-weight: bold; }
  .capture-rate-chart__chart .error-container {
    display: flex;
    flex-direction: column;
    align-items: center; }
.pie-chart__title {
  margin: 0;
  font-size: 14px;
  color: #d3d3d3; }

.pie-chart__body {
  display: flex; }

.pie-chart__chart {
  flex: 1 1 400px;
  max-height: 250px;
  min-height: 200px; }
  .pie-chart__chart--loading {
    align-items: center;
    min-height: 200px; }
  .pie-chart__chart--no-data {
    display: flex;
    align-items: center;
    justify-content: center; }
    .pie-chart__chart--no-data p {
      font-size: 20px;
      color: #d3d3d3;
      font-weight: bold; }
  .pie-chart__chart .error-container {
    display: flex;
    flex-direction: column;
    align-items: center; }
.bar-chart__title {
  margin: 0;
  font-size: 14px;
  color: #d3d3d3; }

.bar-chart__body {
  display: flex;
  width: 100%; }

.bar-chart__chart {
  flex: 1 1 400px;
  max-height: 350px;
  min-height: 300px; }
  .bar-chart__chart--loading {
    display: flex;
    align-items: center; }
  .bar-chart__chart--no-data {
    display: flex;
    align-items: center;
    justify-content: center; }
    .bar-chart__chart--no-data p {
      font-size: 20px;
      color: #d3d3d3;
      font-weight: bold; }

.bar-chart .pagination__container {
  width: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.bar-chart .pagination__button {
  border: none;
  background-color: #f3f3f3;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #d3d3d3;
  padding-left: 8px; }
  .bar-chart .pagination__button:hover {
    background-color: #eaeaea;
    color: #bbbbbb; }
  .bar-chart .pagination__button--left {
    padding-left: 5px; }

.bar-chart .error-container {
  display: flex;
  flex-direction: column;
  align-items: center; }
.contract-orders .manual-order-form-container {
  margin: 10px 0px; }

.contract-orders .add-drug-btn {
  background-color: #35668f;
  color: white;
  padding-left: 35px !important;
  padding-right: 35px !important;
  text-align: center;
  border: none;
  transition: all 0.3s ease; }

.contract-orders .contract-manual-orders .overlay {
  position: fixed !important; }

.contract-orders .order-type-component {
  display: flex; }

.contract-orders .order-type-component > div:first-child {
  margin-right: 15px; }

.contract-orders .button-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 10px 0px; }
  .contract-orders .button-container .container-button-group {
    flex: 1;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap; }
    .contract-orders .button-container .container-button-group .button-success {
      background-color: #03bb03;
      cursor: pointer; }
    .contract-orders .button-container .container-button-group .button-default {
      margin-left: 10px;
      background-color: #35668f;
      position: relative;
      cursor: pointer; }
      .contract-orders .button-container .container-button-group .button-default .import-btn {
        height: 100%;
        width: 100%;
        opacity: 0;
        position: absolute; }
      .contract-orders .button-container .container-button-group .button-default .import-btn:hover {
        cursor: pointer; }
    .contract-orders .button-container .container-button-group button:hover {
      background-color: #0091c4;
      cursor: pointer; }

.contract-orders .reports-table .rt-thead {
  z-index: 1;
  color: #353e4a;
  background: white;
  box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.15); }

.contract-orders .reports-table .rt-tbody {
  overflow: initial;
  text-align: center; }
  .contract-orders .reports-table .rt-tbody .rt-tr-group .review {
    padding: 0;
    font-size: 10px; }
  .contract-orders .reports-table .rt-tbody .rt-tr-group .rt-tr.-odd {
    background: #f3f6f7; }
  .contract-orders .reports-table .rt-tbody .rt-tr-group .rt-tr.-even {
    background: white; }

.contract-orders .reports-table .custom-noData {
  text-align: center; }

.contract-orders .reports-table .custom-ndc-column {
  color: #353e4a;
  cursor: pointer; }

.contract-orders .reports-table.ReactTable .-loading.-active {
  z-index: 1; }

.add-drugs-component .four-part-filter-row__filters {
  width: 100%;
  margin-top: 15px; }
  .add-drugs-component .four-part-filter-row__filters .select-simple__open-requests .react-select__control {
    height: 38px;
    width: 100%;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }
  .add-drugs-component .four-part-filter-row__filters .side-drawer__filters {
    margin-top: auto; }

.add-drugs-component .action-and-filter-row__action-column {
  width: 100%; }
  .add-drugs-component .action-and-filter-row__action-column .ui2-top-header__action-button {
    width: 100%; }
    .add-drugs-component .action-and-filter-row__action-column .ui2-top-header__action-button .search-filter-toggle {
      width: 200px !important; }

.add-drugs-component .select-simple__open-requests {
  margin-right: 7px; }

.add-drugs-component .header-textbox-grp {
  display: flex;
  align-items: center;
  margin-right: 7px;
  margin-top: auto; }
  .add-drugs-component .header-textbox-grp .search-input-group:not(:first-child) {
    margin-left: 7px; }

.add-drugs-component .ui2-top-header--scrolled {
  position: inherit; }

.add-drugs-component .button-group button {
  display: flex;
  background-color: #35668f; }

.add-drugs-component .button-group button:not(:first-child) {
  margin-left: 15px; }

.add-drugs-component .button-group .btn-add-drugs {
  float: right;
  margin-right: 0px; }

.add-drugs-component .button-group .btn-cancel-drugs {
  background-color: #ff3d00;
  border-color: #ff3d00;
  font-weight: 400; }

.save-icon {
  color: #8ab14e;
  cursor: pointer; }

.close-icon {
  color: Red;
  cursor: pointer; }

.edit-icon {
  color: #8ab14e;
  cursor: pointer; }

.edit-icon-disable {
  color: gray; }

.info-msg {
  float: right;
  margin-top: 12px; }

.input-number-wrapper {
  position: relative; }
  .input-number-wrapper input[type="number"]::-webkit-inner-spin-button,
  .input-number-wrapper input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .input-number-wrapper input.form-control {
    padding: 0 30px 0 12px; }
  .input-number-wrapper .icomoon-plus {
    position: absolute;
    top: 5px;
    right: 13px;
    cursor: pointer;
    font-size: 12px;
    height: 20px;
    line-height: 20px; }
    .input-number-wrapper .icomoon-plus.disabled {
      cursor: default; }
      .input-number-wrapper .icomoon-plus.disabled:before {
        color: #ddd; }
  .input-number-wrapper .icomoon-minus {
    position: absolute;
    top: auto;
    bottom: 0px;
    right: 13px;
    cursor: pointer;
    font-size: 2px;
    height: 20px;
    line-height: 20px; }
    .input-number-wrapper .icomoon-minus.disabled {
      cursor: default; }
      .input-number-wrapper .icomoon-minus.disabled:before {
        color: #ddd; }

.drug-status-filter {
  max-height: 600px; }
.contract-parent-search.search-input-group {
  margin-right: 0px; }

.ce-parent-container .ce-parent__submit-btn {
  margin-right: 5px; }

.ce-parent-container .card-box__title {
  margin-top: 10px;
  margin-left: 10px; }

.ce-parent-container .card-box__content {
  margin: 10px; }

.ce-parent-container .ce-parent-list-wrapper {
  padding: 0px; }

.ce-parent-container .four-part-filter-row__selectors {
  width: 12.5%; }

.ce-parent-container .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .ce-parent-container .four-part-filter-row__filters .tooltip-wrapper.contract-parent-search {
    grid-template-columns: minmax(100px, 500px); }

.missing-locatopn-table .ui2-reports-table__wrapper {
  overflow-x: inherit; }

.missing-locatopn-table .ui2-react-table__tbody {
  padding-bottom: 20px; }

.missing-locatopn-table .ps > .ps__scrollbar-x-rail,
.missing-locatopn-table .ps.ps--active-x > .ps__scrollbar-x-rail {
  opacity: 1 !important; }

.missing-locatopn-table .ps.ps--active-y > .ps__scrollbar-y-rail,
.missing-locatopn-table .ps.ps__scrollbar-y-rail {
  opacity: 1 !important; }

.missing-locatopn-table .checkbox-label .checkmark:before {
  left: 40% !important; }
.contract-provider .form-container .form-group {
  margin-right: 10px;
  margin-bottom: 5px !important; }

.contract-provider .four-part-filter-row > div.four-part-filter-row__filters {
  align-items: start !important; }
  .contract-provider .four-part-filter-row > div.four-part-filter-row__filters .tooltip-wrapper.ce-providers__provider-location-select {
    height: fit-content !important; }
    .contract-provider .four-part-filter-row > div.four-part-filter-row__filters .tooltip-wrapper.ce-providers__provider-location-select .react-select__control {
      height: fit-content !important; }

.contract-provider .ui2-react-table__td .form-group {
  width: calc(100% - 20px); }

.contract-provider .form-container {
  background-color: white;
  padding: 15px;
  margin-bottom: 20px; }

.contract-provider .btn-container {
  display: flex; }
  .contract-provider .btn-container button {
    margin-right: 10px; }

.contract-provider .title-component .claim-adjustment-header,
.contract-provider .title-component .status-icon {
  display: inline-block; }

.contract-provider .title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.contract-provider .title-component .status-icon {
  margin-left: 10px; }
  .contract-provider .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.contract-provider .card-box__content-wrapper {
  padding: 10px; }

.contract-provider .eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.contract-provider .eligibility-container .eligibity-add-btn {
  flex: 1; }
  .contract-provider .eligibility-container .eligibity-add-btn button {
    float: right; }

.contract-provider .ui2-reports-table__wrapper {
  height: 503px !important; }

.contract-provider .date-range-picker--dropdown {
  margin-top: 0px; }

.contract-provider .date-range-picker--dropdown__header input {
  min-width: 0px; }

.contract-provider .react-table-form .ui2-react-table__td {
  overflow: inherit; }

.contract-provider .btn-styles {
  color: #8ab14e; }

.contract-provider .btn-styles,
.contract-provider .btn-styles:hover,
.contract-provider .btn-styles:active,
.contract-provider .btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px; }

.contract-provider .btn-styles:hover,
.contract-provider .btn-styles:active,
.contract-provider .btn-styles:focus {
  color: #62842f; }

.contract-provider .display-inlie {
  display: inline; }

.contract-provider .form-btn-container {
  margin-top: 15px; }

.contract-provider .text-center-align {
  text-align: center;
  margin: auto; }

.contract-provider .ceprovider-form {
  position: relative; }
  .contract-provider .ceprovider-form .overlay {
    position: absolute; }

.contract-provider .network-label {
  margin-top: 18px; }

.contract-order__table.eligibility-table div[role="row"] .ui2-react-table__th {
  display: flex !important;
  box-sizing: border-box !important;
  width: 150px !important;
  position: relative !important;
  justify-content: center !important;
  flex-direction: row !important; }

.col-xs-12.col-sm-3.form-fields.review-required {
  margin-left: 10px;
  width: 13%; }
.form-group.search-input-group {
  width: 35%;
  min-width: 300px;
  max-width: 550px;
  margin-top: 15px;
  position: relative; }
  .form-group.search-input-group.active-text input {
    padding-right: 50px; }
  .form-group.search-input-group.active-text .icomoon-search {
    color: #35668F; }
  .form-group.search-input-group .icomoon-search {
    position: absolute;
    font-size: 22px;
    top: 17px;
    left: 20px;
    color: #cfd2d5; }
  .form-group.search-input-group input {
    padding-left: 57px;
    height: 55px; }
    .form-group.search-input-group input::placeholder {
      font-size: 18px;
      color: #cfd2d5; }
    .form-group.search-input-group input::-ms-clear {
      display: none; }
    .form-group.search-input-group input.form-check-input {
      height: auto !important; }
  .form-group.search-input-group .btn-clear {
    right: 15px;
    padding: 0;
    outline: 0;
    color: #DE1927;
    height: 20px;
    margin: 0;
    border: 0;
    top: calc(50% - 11px); }
  .form-group.search-input-group button:focus, .form-group.search-input-group button:active {
    outline: none; }
  .form-group.search-input-group button .btn-link {
    position: absolute;
    top: 8px;
    right: 0; }
  .form-group.search-input-group .glyphicon-search {
    position: absolute; }

button.btn-clear.search-with-radio--clear.btn.btn-link {
  top: 18px; }

.search-with-radio__container {
  margin-top: 5px; }

.search-with-radio--label {
  display: inline-block;
  margin-right: 10px;
  line-height: 24px; }

.search-with-radio--option {
  display: inline-block;
  margin-right: 10px; }
.contract-wholesaler .customer-account__add-btn.btn {
  width: 200px !important; }

.contract-wholesaler .form-container {
  background-color: white;
  padding: 15px;
  margin-bottom: 20px; }
  .contract-wholesaler .form-container .form-group {
    margin-right: 10px;
    margin-bottom: 5px !important; }
  .contract-wholesaler .form-container .btn-container {
    display: flex; }
    .contract-wholesaler .form-container .btn-container button {
      margin-right: 10px; }

.contract-wholesaler .title-component .claim-adjustment-header,
.contract-wholesaler .title-component .status-icon {
  display: inline-block; }

.contract-wholesaler .title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.contract-wholesaler .title-component .status-icon {
  margin-left: 10px; }
  .contract-wholesaler .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.contract-wholesaler .card-box__content-wrapper {
  padding: 10px; }
  .contract-wholesaler .card-box__content-wrapper .card-box__detail.nested-item {
    width: 25%; }
    .contract-wholesaler .card-box__content-wrapper .card-box__detail.nested-item .parent-item {
      display: inline-block; }
    .contract-wholesaler .card-box__content-wrapper .card-box__detail.nested-item .child-item {
      display: inline-block;
      margin-left: 40px; }

.contract-wholesaler .eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.contract-wholesaler .eligibility-container .eligibity-add-btn {
  flex: 1; }
  .contract-wholesaler .eligibility-container .eligibity-add-btn button {
    float: right; }

.contract-wholesaler .ui2-reports-table__wrapper {
  height: 300px; }

.contract-wholesaler .date-range-picker--dropdown {
  margin-top: 0px; }

.contract-wholesaler .date-range-picker--dropdown__header input {
  min-width: 0px; }

.contract-wholesaler .react-table-form .ui2-react-table__td {
  overflow: inherit; }

.contract-wholesaler .btn-styles {
  color: #8ab14e; }

.contract-wholesaler .btn-styles,
.contract-wholesaler .btn-styles:hover,
.contract-wholesaler .btn-styles:active,
.contract-wholesaler .btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px; }

.contract-wholesaler .btn-styles:hover,
.contract-wholesaler .btn-styles:active,
.contract-wholesaler .btn-styles:focus {
  color: #62842f; }

.contract-wholesaler .display-inlie {
  display: inline; }

.contract-wholesaler .form-btn-container {
  margin-top: 15px; }

.contract-wholesaler .text-center-align {
  text-align: center;
  margin: auto; }

.contract-wholesaler .ce-wholesaler-form {
  position: relative; }
  .contract-wholesaler .ce-wholesaler-form .overlay {
    position: absolute; }

.contract-wholesaler .network-label {
  margin-top: 18px; }

.wholesalerForm .date-range-picker--dropdown__header input {
  width: 100% !important; }

.wholesalerForm .date-range-input {
  margin-right: 0px; }
.contract-replenishment-group .form-container .form-group {
  margin-right: 10px;
  margin-bottom: 5px !important; }

.contract-replenishment-group .live-date {
  margin-right: 0px !important; }

.contract-replenishment-group .form-container {
  background-color: white;
  padding: 15px;
  margin-bottom: 20px; }

.contract-replenishment-group .btn-container {
  display: flex; }
  .contract-replenishment-group .btn-container button {
    margin-right: 10px; }

.contract-replenishment-group .title-component .claim-adjustment-header,
.contract-replenishment-group .title-component .status-icon {
  display: inline-block; }

.contract-replenishment-group .title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.contract-replenishment-group .title-component .status-icon {
  margin-left: 10px; }
  .contract-replenishment-group .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.contract-replenishment-group .card-box__content-wrapper {
  padding: 10px; }

.contract-replenishment-group .eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.contract-replenishment-group .eligibility-container .eligibity-add-btn {
  flex: 1; }
  .contract-replenishment-group .eligibility-container .eligibity-add-btn button {
    float: right; }

.contract-replenishment-group .ui2-reports-table__wrapper {
  height: 300px; }

.contract-replenishment-group .date-range-picker--dropdown {
  margin-top: 0px; }

.contract-replenishment-group .date-range-picker--dropdown__header input {
  min-width: 0px; }

.contract-replenishment-group .react-table-form .ui2-react-table__td {
  overflow: inherit; }

.contract-replenishment-group .btn-styles {
  color: #8ab14e; }

.contract-replenishment-group .btn-styles,
.contract-replenishment-group .btn-styles:hover,
.contract-replenishment-group .btn-styles:active,
.contract-replenishment-group .btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px; }

.contract-replenishment-group .btn-styles:hover,
.contract-replenishment-group .btn-styles:active,
.contract-replenishment-group .btn-styles:focus {
  color: #62842f; }

.contract-replenishment-group .display-inlie {
  display: inline; }

.contract-replenishment-group .form-btn-container {
  margin-top: 15px; }

.contract-replenishment-group .text-center-align {
  text-align: center;
  margin: auto; }

.contract-replenishment-group .ceprovider-form {
  position: relative; }
  .contract-replenishment-group .ceprovider-form .overlay {
    position: absolute; }

.contract-replenishment-group .network-label {
  margin-top: 18px; }

.contract-replenishment-group .tooltip-wrapper.contract-replenishment-group__filter-select {
  height: 39px;
  grid-template-columns: minmax(100px, 150px) !important;
  margin-right: 0px !important; }
  .contract-replenishment-group .tooltip-wrapper.contract-replenishment-group__filter-select .react-select__control {
    height: 39px;
    width: 150px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px;
    margin: 0px; }
  .contract-replenishment-group .tooltip-wrapper.contract-replenishment-group__filter-select .react-select__menu {
    width: 100%; }

.rx-rpg-tpa-form,
.rx-rpg-form,
.rx-rpg-ordering-form,
.rx-rpg-true-up-form {
  position: relative; }
.ce-manufacturers-form {
  background-color: white;
  margin-bottom: 20px;
  position: relative; }
  .ce-manufacturers-form .form-container {
    padding: 15px; }
  .ce-manufacturers-form .btn-container {
    display: flex;
    margin-left: 4rem; }
    .ce-manufacturers-form .btn-container .btn-cancel {
      background-color: #acb2bb;
      color: white; }
    .ce-manufacturers-form .btn-container .btn-cancel:hover {
      color: #de1927; }
    .ce-manufacturers-form .btn-container button {
      margin-left: 5px; }
  .ce-manufacturers-form .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .ce-manufacturers-form .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }

@media (max-width: 1100px) {
  .ce-manufacturers-form .form-group {
    width: 48%; } }

@media (max-width: 500px) {
  .ce-manufacturers-form .form-group {
    width: 90%; } }

.manufacture-compliance-header,
.formulary-block-header {
  font-weight: bolder;
  font-size: 18px; }

@media screen and (min-width: 1650px) {
  .col-xs-3.col-md-2 {
    padding: 0px 15px; }
    .col-xs-3.col-md-2.parent.form-group {
      width: 29.6%; }
    .col-xs-3.col-md-2.rpg-id.form-group {
      width: 31.6%; }
    .col-xs-3.col-md-2.manufacturer.form-group {
      width: 25%; }
    .col-xs-3.col-md-2.administered-by.form-group {
      width: 30.6%; }
    .col-xs-3.col-md-2.sole-pharm.form-group, .col-xs-3.col-md-2.reporting.form-group, .col-xs-3.col-md-2.pricing.form-group, .col-xs-3.col-md-2.block-type.form-group, .col-xs-3.col-md-2.sxc-block.form-group {
      width: 16%; }
  .date-range-input.enddate.col-xs-3.col-md-2.reporting-date.form-group {
    padding: 0px 15px;
    width: 15.3%; }
  .date-range-input.col-xs-3.col-md-2.block-date.form-group {
    padding: 0px 15px;
    width: 15%; }
  .col-xs-3.col-md-5.notes.form-group {
    width: 31.6%;
    padding: 0px 15px; } }
#body.contract_rx .pharmacy-container .four-part-filter-row__selectors {
  width: 27.5%; }

#body.contract_rx .pharmacy-container .four-part-filter-row__filters {
  width: 72.5%; }

#body.contract_rx .pharmacy-container .tooltip-wrapper.pharmacy__chain-type-select {
  grid-template-columns: minmax(100px, 250px);
  height: 39px; }
  #body.contract_rx .pharmacy-container .tooltip-wrapper.pharmacy__chain-type-select .react-select__control {
    height: 39px;
    width: 250px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }

#body.contract_rx .pharmacy-container .tooltip-wrapper.pharmacy__tpa-type-select {
  grid-template-columns: minmax(100px, 250px);
  height: 39px;
  margin-right: 0px; }
  #body.contract_rx .pharmacy-container .tooltip-wrapper.pharmacy__tpa-type-select .react-select__control {
    height: 39px;
    width: 250px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px; }

#body.contract_rx .pharmacy-container .action-and-filter-row__action-column .export__container.dropdown.btn-group {
  width: 181.75px; }
  #body.contract_rx .pharmacy-container .action-and-filter-row__action-column .export__container.dropdown.btn-group .export__button--action.btn {
    width: 100%;
    margin: 0px; }
  #body.contract_rx .pharmacy-container .action-and-filter-row__action-column .export__container.dropdown.btn-group .export__button--dropdown.btn {
    margin: 0px;
    margin-right: 5px; }
.ce-patientTypes-container .patientType-filter-drawer {
  position: absolute;
  left: 87%;
  top: 100px; }

.ce-patientTypes-container .export-btn {
  left: 81%;
  position: relative;
  margin-bottom: 20px; }

.ce-patientTypes-container .patientTypeFloat {
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 15px;
  left: 63%;
  position: relative; }

.add-icon {
  color: #0091c4;
  cursor: pointer; }

.add-patinet-type-btn {
  position: relative;
  margin-top: 90px;
  margin-bottom: 20px;
  left: 385px;
  bottom: 70px; }

.patient_type_status-label {
  position: relative;
  margin-left: 10px;
  font-size: 16px;
  display: flex;
  align-items: center;
  bottom: 50px;
  left: 470px;
  font-weight: bold;
  position: static; }

.patientTypeCardBox .card-box__grid-col--content {
  display: flex; }

.ui2-top-header__left {
  white-space: normal;
  word-break: break-word;
  word-break: break-all; }

.eligibity-filters .inneraddPatientTypeAndExport {
  left: 31%;
  position: relative; }

.eligibity-filters .innerPTExportBtn {
  left: 81%;
  position: relative; }

.patientTypeActions {
  position: relative;
  right: 14px; }
.contract-wholesaler .four-part-filter-row__filters .search-filter-toggle.dispensing-fee-cap, .contract-wholesaler .four-part-filter-row__filters .search-filter-toggle.dispensing-fee-floor {
  width: 120px !important;
  top: 4px; }
.ce-site-containter .ce-site__submit-btn {
  margin-right: 5px; }

.ce-site-containter .card-box__title {
  margin-top: 10px;
  margin-left: 10px; }

.ce-site-containter .card-box__content {
  margin: 10px; }

.ce-site-containter .four-part-filter-row__selectors {
  width: 25%; }

.ce-site-containter .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .ce-site-containter .four-part-filter-row__filters .tooltip-wrapper.ce-sites-search {
    min-width: 0px;
    max-width: 500px;
    grid-template-columns: minmax(100px, 500px); }

.ce-site-containter .four-part-filter-row__filters .search-filter-toggle {
  top: 4px; }
.contract-wholesaler .platform-fee-search {
  grid-template-columns: minmax(100px, 550px) !important; }
.Note-from {
  background-color: white;
  margin-bottom: 20px; }
  .Note-from .form-container {
    padding: 15px; }
  .Note-from .btn-container {
    display: flex; }
    .Note-from .btn-container button {
      margin-left: 5px; }
  .Note-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .Note-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }
.note-card-box .reason {
  margin-top: 2.5%;
  margin-left: -1%;
  border-radius: 20px;
  border-color: gray;
  padding: 5px; }
.add-playor {
  padding: 15px;
  position: relative; }
  .add-playor .radio-label {
    padding-top: 0; }
  .add-playor__buttons {
    display: flex; }

.btn-export-csv {
  margin-left: auto;
  margin-right: 1.5%; }
.queued-reports .open-link {
  padding-left: 5px;
  color: #35668F;
  text-decoration: underline; }

.queued-reports .open-link:hover {
  text-decoration: none;
  color: #353e4a; }

.queued-reports table > tbody > tr.queued-reports--not-found:hover {
  background: white; }

.queued-reports table > tbody > tr.queued-reports--not-found > td {
  height: 300px;
  text-align: center;
  vertical-align: middle;
  color: #808080;
  font-weight: bold;
  font-size: 18px; }

.queued-reports--table {
  table-layout: fixed;
  word-wrap: break-word;
  margin-top: 50px;
  border: none; }
  .queued-reports--table thead {
    border-bottom: 2px solid #ACACAC; }
    .queued-reports--table thead th {
      color: #808080;
      font-weight: bold; }
  .queued-reports--table tbody tr:nth-child(odd) {
    background: white; }
    .queued-reports--table tbody tr:nth-child(odd):hover {
      background: whitesmoke; }
  .queued-reports--table tbody tr:nth-child(even) {
    background: #F9FAFB; }
    .queued-reports--table tbody tr:nth-child(even):hover {
      background: #edf0f3; }

.queued-reports--th__requested_date {
  width: 200px; }

.queued-reports--th__type {
  width: 200px; }

.queued-reports--th__status {
  width: 150px; }

.queued-reports--th__download {
  width: 210px; }

.queued-reports--th__file_name {
  width: 210px; }

.queued-reports--th__comments {
  width: 210px; }

.queued-reports--th__download {
  width: 100px; }

.queued-reports .queued-report-info {
  display: flex;
  align-items: flex-end;
  width: 100%;
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #1A1A1A; }
  .queued-reports .queued-report-info:before, .queued-reports .queued-report-info:after {
    content: "";
    height: 2px;
    width: 100%;
    background: #E6E6E6;
    position: absolute;
    top: 0; }
  .queued-reports .queued-report-info:after {
    bottom: 0;
    top: auto; }
  .queued-reports .queued-report-info > img {
    width: 50px;
    margin-right: 10px; }
  .queued-reports .queued-report-info .queued-reports-info-body {
    width: 580px; }

.queued-reports .ui2-top-headers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

.queued-reports .ui2-top-headers-left {
  flex: 1; }

.item-status {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  font-size: 16px;
  color: #1A1A1A;
  height: 28px; }
  .item-status__new:before, .item-status__preparing:before, .item-status__ready:before, .item-status__expired:before, .item-status__broken:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 10px;
    position: absolute;
    top: calc(50% - 8px);
    left: 0; }
  .item-status__new:before, .item-status__preparing:before {
    background-color: #FAC710; }
  .item-status__ready:before {
    background-color: #8FD14F; }
  .item-status__expired:before, .item-status__broken:before {
    background-color: #F24726; }

.item--link {
  color: #35668F;
  text-decoration: underline;
  cursor: pointer; }
  .item--link:hover {
    color: #353e4a; }
  .item--link__right {
    float: right; }

.queuedFiles-download-button-link {
  background: none;
  border: none;
  color: #2EB398;
  outline: none; }
.top-searchbar--mapping .inputs-wrapper.search-panel {
  display: block; }
  .top-searchbar--mapping .inputs-wrapper.search-panel .select-search {
    width: 350px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-panel--mapping {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter-toggle--mapping {
    float: left;
    margin-right: 30px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .cdm-mapping {
    margin-top: 25px;
    display: inline-flex;
    max-width: 120px;
    margin-left: 1.5%; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
    float: left !important;
    width: 160px; }
    .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping .Select {
      min-width: 160px; }
    @media (min-width: 970px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
        float: left; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--timeFrame {
    float: left;
    width: 120px !important; }
    .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--timeFrame .Select {
      min-width: 120px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
    right: 3%;
    top: 16px; }
    @media (min-width: 2560px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 5%; } }
    @media (min-width: 3000px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 8%; } }
    @media (min-width: 4400px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 10%; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel .btn-export-csv {
    margin-top: 26px; }

.top-searchbar--mapping .btn-group + .btn-group {
  margin-left: 1.5%; }

.top-searchbar--mapping .add-mapping-button {
  float: right;
  margin-top: 25px; }

.top-searchbar--mapping .import-blocking {
  margin-bottom: 15px;
  margin-left: 25px; }
.ndcOrderManagementScreen .loader {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 100; }

.ndcOrderManagementScreen .newOrders_placeOrder {
  margin-bottom: 40px;
  display: flex;
  justify-content: flex-end;
  left: 0px; }

.ndcOrderManagementScreen .four-part-filter-row__selectors {
  width: 0%; }

.ndcOrderManagementScreen .four-part-filter-row__filters {
  width: 100%; }

.ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input {
  margin: 5px 10px 0px 0px;
  display: grid;
  grid-template-columns: minmax(100px, 400px);
  max-width: 400px; }
  .ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input .select-search.search-input-group {
    min-width: 0px; }
    .ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input .select-search.search-input-group .select-search__button--dropdown.btn {
      height: 39px !important;
      top: 0px !important; }
    .ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input .select-search.search-input-group .input-group input[type="text"] {
      min-width: 0px; }
  .ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input .select-search__button--dropdown span.select-search--title {
    width: 85px; }
  .ndcOrderManagementScreen .four-part-filter-row__filters .ndc-orders-search-input .select-search.form-group.search-input-group .btn-clear {
    right: 130px; }

.ndcOrderManagementScreen .four-part-filter-row__filters .ndc-order-search-submit-button.btn {
  height: 39px;
  width: 150px;
  margin: auto 10px 0px 0px; }

.ndcOrderManagementScreen .four-part-filter-row__filters .search-filter-toggle.view-by-wholesaler {
  margin-left: 0px !important;
  top: 8px !important;
  height: 39px !important; }

.ndcOrderManagementScreen .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .ndc-order-management__add-button {
  width: 197.5px; }

.ndcOrderManagementScreen .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .ndc-order-management__delete-button {
  width: 197.5px;
  color: red; }
.top-searchbar--mapping .inputs-wrapper.search-panel {
  display: flex;
  align-items: flex-end; }
  .top-searchbar--mapping .inputs-wrapper.search-panel .select-search {
    width: 350px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-panel--mapping {
    float: left; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter-toggle--mapping {
    float: left;
    margin-right: 30px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .cdm-mapping {
    margin-top: 25px;
    display: inline-flex;
    max-width: 120px;
    margin-left: 1.5%; }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
    float: left !important;
    min-width: 180px !important; }
    .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping .react-select__control {
      height: 55px !important; }
    .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping .Select {
      min-width: 160px; }
    @media (min-width: 970px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-filter--mapping {
        float: left; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
    right: 3%;
    top: 16px; }
    @media (min-width: 2560px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 5%; } }
    @media (min-width: 3000px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 8%; } }
    @media (min-width: 4400px) {
      .top-searchbar--mapping .inputs-wrapper.search-panel > .search-input-group > button {
        right: 10%; } }
  .top-searchbar--mapping .inputs-wrapper.search-panel .btn-export-csv {
    margin-top: 26px;
    height: 55px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel .search-input-group {
    margin: 0px 25px 0px 0px;
    margin-right: auto; }
    .top-searchbar--mapping .inputs-wrapper.search-panel .search-input-group input {
      height: 55px; }
  .top-searchbar--mapping .inputs-wrapper.search-panel .search-filter--mapping {
    margin: 0px 25px 0px 0px; }

.top-searchbar--mapping .btn-group + .btn-group {
  margin-left: 1.5%; }

.top-searchbar--mapping .add-mapping-button {
  float: right;
  margin-top: 25px; }
.add-mf-block-entity-config-container {
  background-color: white;
  margin-bottom: 20px;
  position: relative;
  padding: 10px; }

.add-icon {
  color: #0091c4;
  cursor: pointer;
  position: "absolute"; }
.add-manuf-config-add-manufacturer-modal.modal-dialog .modal-content {
  overflow: auto;
  max-width: 90%;
  max-height: 90%;
  top: -10%; }

.add-manuf-config-add-manufacturer-modal.modal-dialog .modal-header {
  font-family: sans-serif !important;
  font-size: 10px; }

.add-manufacturer-modal-buttons {
  display: block; }
.manufacturer-block-entity-configuration-form-container {
  padding: 15px; }
  .manufacturer-block-entity-configuration-form-container .btn-container {
    display: flex; }
    .manufacturer-block-entity-configuration-form-container .btn-container button {
      margin-left: 5px; }
  .manufacturer-block-entity-configuration-form-container .manufacturer.form-group {
    padding: 0px 25px;
    margin-right: 10px;
    width: 32%; }
  .manufacturer-block-entity-configuration-form-container .entity-type.form-group,
  .manufacturer-block-entity-configuration-form-container .applies-to-entity.form-group,
  .manufacturer-block-entity-configuration-form-container .formulary-group-ids.form-group,
  .manufacturer-block-entity-configuration-form-container .look-back-days.form-group {
    padding: 0px 25px;
    margin-right: 10px;
    width: 30%; }
  .manufacturer-block-entity-configuration-form-container .date-range-input.form-group {
    padding: 0px 25px;
    margin-right: 10px;
    width: 15.7%; }
.edit-manufacturer-blocking-entity-configuration-modal.modal-dialog {
  width: 90%; }

.edit-manufacturer-modal-buttons {
  display: block; }
.edit-mf-block-entity-config-container {
  background-color: white;
  margin-bottom: 20px;
  position: relative;
  padding: 10px; }
.central-distribution .central-distribution__add-btn {
  width: 220px !important; }

.central-distribution .four-part-filter-row__selectors {
  width: 12.5%; }

.central-distribution .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .central-distribution .four-part-filter-row__filters .tooltip-wrapper.central-distribution-search {
    grid-template-columns: minmax(100px, 500px); }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .patients-csv {
  margin-top: -2px;
  float: right; }

.clear-location .patients-import {
  width: 90px;
  margin-right: 25px;
  margin-top: -2px; }

.clear-location .search-filter {
  min-width: 240px;
  margin-top: -13px; }

.clear-location .add-patients {
  margin-top: -2px;
  float: right; }
.location-card-box {
  width: 100%; }

.patient-card-box {
  font-size: 14px;
  width: -webkit-fill-available; }
.add-playor {
  padding: 15px;
  position: relative;
  display: flow-root; }
  .add-playor .radio-label {
    padding-top: 0; }
  .add-playor__buttons {
    display: flex; }

.btn-export-csv {
  margin-left: auto;
  margin-right: 1.5%; }

.add-patient-button {
  margin: 10px 0 0 500px;
  display: inline-flex; }
.approve-claim-modal.modal-dialog {
  width: 35%;
  font-size: large; }
  .approve-claim-modal.modal-dialog .modal-header {
    font-weight: bold;
    font-size: large; }
  .approve-claim-modal.modal-dialog .approval-reasons {
    display: flex;
    flex-direction: row; }
    .approve-claim-modal.modal-dialog .approval-reasons .approval-text {
      margin-right: 15px;
      padding-left: 5px;
      width: 72%;
      border: 1px solid black;
      border-radius: 4px;
      height: 45px;
      font-size: 18px;
      font-family: 'Proxima Nova'; }
    .approve-claim-modal.modal-dialog .approval-reasons .approval-file {
      width: 25%;
      position: relative;
      display: inline-block; }
      .approve-claim-modal.modal-dialog .approval-reasons .approval-file .upload-label {
        display: inline-block;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        background-color: #35668F;
        color: white;
        border: 1px solid #D1D1D1;
        border-radius: 4px;
        padding: 8px 12px;
        text-align: center;
        cursor: pointer;
        height: 45px;
        margin: 0px; }
  .approve-claim-modal.modal-dialog .buttons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 20px 5px 10px 5px; }
    .approve-claim-modal.modal-dialog .buttons > button {
      margin-right: 20px; }

.approve-claim-error-modal.modal-dialog {
  text-align: center;
  width: 30%;
  font-size: large; }
  .approve-claim-error-modal.modal-dialog h3 {
    margin-top: 14px; }
  .approve-claim-error-modal.modal-dialog .close-btn {
    display: flex;
    justify-content: center;
    margin: 0px; }
    .approve-claim-error-modal.modal-dialog .close-btn button {
      height: 40px; }
.request-password__email {
  padding: 0 25px; }

.request-password .error {
  display: block; }
.reset-password__password {
  padding: 0 25px; }

.reset-password .error {
  display: block; }

.reset-password .green {
  color: green;
  transition: color 0.7s ease; }

.reset-password .red {
  color: #ea1f19;
  transition: color 0.7s ease; }

.update {
  margin-top: 10px;
  font-size: 15px;
  color: #ea1f19; }
.ui2-nav {
  border-left: none;
  margin-left: 0;
  font-size: 16px;
  padding-left: 0; }
  .ui2-nav__header {
    color: #FAFAFA;
    background-color: #35668F;
    font-weight: bolder;
    padding: 6px 0;
    border-bottom: 1px solid #E6E6E6;
    margin: 0;
    display: flex;
    justify-content: center; }
  .ui2-nav .admin {
    margin-top: 40px; }
  .ui2-nav__container {
    overflow-y: hidden;
    overflow-x: hidden; }
    .ui2-nav__container.mixed_use {
      height: calc(100vh - 380px); }
    .ui2-nav__container.contract_rx {
      height: calc(100vh - 270px); }
  .ui2-nav__item {
    position: relative;
    z-index: 1;
    list-style: none;
    cursor: pointer; }
    .ui2-nav__item:before {
      display: none; }
    .ui2-nav__item > a, .ui2-nav__item > a:focus, .ui2-nav__item a:active {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 7px 20px;
      color: #35668F;
      font-weight: bolder; }
      .ui2-nav__item > a:hover, .ui2-nav__item > a:focus:hover, .ui2-nav__item a:active:hover {
        color: #35668F;
        background-color: #FAFAFA; }
    .ui2-nav__item--active > a, .ui2-nav__item--active > a:focus, .ui2-nav__item--active a:active {
      color: #35668F;
      background-color: #EBEFF3; }
    .ui2-nav__item--toggle {
      margin-left: auto; }
      .ui2-nav__item--toggle.icon-fontello-left-open-3 {
        top: 17px;
        right: 24px;
        transform: rotate(-90deg);
        transition: transform 0.3s;
        color: #353E4A !important;
        transform-origin: center; }
        .ui2-nav__item--toggle.icon-fontello-left-open-3.open {
          transform: rotate(90deg);
          color: #41658C !important; }
    .ui2-nav__item > .ui2-nav {
      transition: opacity 0.1s ease-out, max-height 0.15s ease-out;
      overflow: hidden;
      opacity: 0;
      padding: 0;
      display: none; }
      .ui2-nav__item > .ui2-nav li:before {
        content: none; }
      .ui2-nav__item > .ui2-nav li > a {
        padding-left: 40px; }
        .ui2-nav__item > .ui2-nav li > a .name {
          font-size: 15px; }
      .ui2-nav__item > .ui2-nav .ui2-nav > li a {
        padding-left: 65px; }
    .ui2-nav__item--open > .ui2-nav {
      display: block;
      opacity: 1;
      transition: max-height 0.3s ease-in, opacity 0.2s ease-in; }

.sidebar-nav-item__icon {
  margin-right: 5px;
  width: 30px;
  text-align: left; }

.ui2-nav__item > .ui2-nav .ui2-nav .ui2-nav > li a {
  padding-left: 95px; }

.ui2-nav__item .name.sFTPFiles {
  text-decoration: underline; }

.fontawesome-icon {
  margin-right: 15px;
  font-size: 20px;
  width: 22px; }
.accumulation-adjustment .form-group .input-number-wrapper {
  -webkit-user-select: none;
  /* Chrome/Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */
  /* Rules below not implemented in browsers yet */
  -o-user-select: none;
  user-select: none; }

.accumulation-adjustment .mark-drug-buttons {
  display: flex; }

.accumulation-mark-drug .mark-drug-buttons {
  display: flex;
  margin-top: 5px;
  margin-bottom: 0; }
.similarproducts-detail-inner {
  padding: 0 0 20px;
  width: 100%; }
  .similarproducts-detail-inner table {
    margin: 0; }
  .similarproducts-detail-inner .table-wrapper {
    padding: 0; }
  .similarproducts-detail-inner .table-container {
    margin: 0 0 10px 0;
    padding: 20px; }
  .similarproducts-detail-inner .btn-cancel {
    margin: 20px 0 0;
    float: right; }

.similar-products-header {
  align-items: center;
  border-bottom: 1px solid #000;
  display: flex;
  flex-flow: row nowrap;
  height: 55px;
  justify-content: space-between;
  width: 100%; }
  .similar-products-header .options {
    display: flex;
    align-items: center;
    padding-left: 20px; }
    .similar-products-header .options .control-label {
      margin: 0 0 0 10px; }

.table-similar-container {
  margin: 0 0 10px 0;
  padding: 20px; }
  .table-similar-container .rt-tr.-odd {
    background-color: #f3f6f7; }
  .table-similar-container .form-group.clearfix {
    margin-bottom: 0; }

.loadMore-btn {
  cursor: pointer; }
.ui2-prepare-report-message {
  width: 100%;
  height: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .ui2-prepare-report-message--with-padding {
    padding: 150px 0; }
  .ui2-prepare-report-message__img {
    width: 100px;
    height: 100px;
    background-image: url("/imgs/icons/icons8-grid.png"); }
  .ui2-prepare-report-message__text {
    margin-top: 25px;
    font-size: 36px;
    text-align: center;
    color: #929292;
    max-width: 720px; }
.accumulation-detail .similarproducts-detail-inner {
  padding-bottom: 0; }
  .accumulation-detail .similarproducts-detail-inner .table-similar-container {
    margin-bottom: 0; }
  .accumulation-detail .similarproducts-detail-inner .filters--wrapper .date-range-info-icon-wrapper {
    display: flex;
    margin-right: 15px; }
    .accumulation-detail .similarproducts-detail-inner .filters--wrapper .date-range-info-icon-wrapper .date-range-picker--dropdown {
      margin-right: 0px; }
    .accumulation-detail .similarproducts-detail-inner .filters--wrapper .date-range-info-icon-wrapper .icomoon-support.date-range-info {
      margin-left: 5px;
      font-weight: bold;
      cursor: pointer;
      align-self: center;
      margin-top: 15px; }

.purchase-products-header {
  border-bottom: 1px solid #99A0AB;
  display: flex;
  flex-flow: row wrap;
  padding: 10px 20px 0;
  justify-content: space-between;
  width: 100%; }
  @media (min-width: 990px) {
    .purchase-products-header {
      flex-flow: row nowrap; } }
  .purchase-products-header .purchase-products-qualification {
    padding-left: 15px;
    display: flex;
    align-items: center; }
    @media (min-width: 1366px) {
      .purchase-products-header .purchase-products-qualification {
        width: 300px; } }
    .purchase-products-header .purchase-products-qualification > span {
      padding: 0 10px; }
  .purchase-products-header .Select {
    min-width: 100px; }
    @media (min-width: 375px) {
      .purchase-products-header .Select {
        min-width: 145px;
        margin-bottom: 15px; } }
    @media (min-width: 425px) {
      .purchase-products-header .Select {
        min-width: 116px;
        max-width: 116px;
        display: inline-block;
        margin-right: 15px; } }
    @media (min-width: 990px) {
      .purchase-products-header .Select {
        width: 100%;
        min-width: 170px;
        max-width: 170px; } }
    @media (min-width: 1152px) {
      .purchase-products-header .Select {
        min-width: 120px;
        max-width: 120px; } }
  .purchase-products-header .btn.btn-export-csv {
    float: none;
    display: inline-block;
    vertical-align: top; }
    @media (min-width: 375px) {
      .purchase-products-header .btn.btn-export-csv {
        margin-bottom: 15px;
        margin-left: 0; } }
  .purchase-products-header .btn-cancel {
    margin: 0 0 15px 15px; }
    @media (min-width: 375px) {
      .purchase-products-header .btn-cancel {
        margin-left: 0 !important; } }
    @media (min-width: 1152px) {
      .purchase-products-header .btn-cancel {
        margin: 0 0 0 15px; } }
  .purchase-products-header .date-range-picker--dropdown {
    display: inline-block;
    min-width: 201px;
    vertical-align: top; }
  @media (min-width: 375px) {
    .purchase-products-header .DateRangePicker {
      margin-bottom: 10px; } }
  @media (min-width: 425px) {
    .purchase-products-header .DateRangePicker {
      vertical-align: top;
      display: inline-block;
      min-width: 201px; } }
  .purchase-products-header .counter {
    display: inline-block;
    line-height: 45px;
    vertical-align: top;
    margin-left: 0 !important;
    margin-right: 15px; }
  .purchase-products-header .filters {
    width: 100%; }
  .purchase-products-header .filter--buckets {
    width: 150px;
    margin-right: 20px;
    margin-top: 15px; }
  .purchase-products-header .filters--wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-top: -15px; }
    .purchase-products-header .filters--wrapper .date-range-picker--dropdown {
      margin-right: 20px;
      margin-top: 15px; }
  .purchase-products-header .filters__actions {
    margin-top: 15px;
    margin-left: auto;
    display: flex; }
    .purchase-products-header .filters__actions .btn + .btn-group {
      margin-left: 1.5%; }
  .purchase-products-header .purchase-history-date-range-warning {
    display: flow-root;
    margin-bottom: 5px; }
.ui2-report-timeout-message {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .ui2-report-timeout-message--with-padding {
    padding: 150px 0; }
  .ui2-report-timeout-message__img {
    width: 100px;
    height: 100px;
    background-image: url("/imgs/icons/icons8-business_report.png"); }
  .ui2-report-timeout-message__text {
    margin-top: 25px;
    font-size: 24px;
    text-align: center;
    max-width: 720px; }
.retry-button {
  background-color: #f3f3f3;
  color: #d3d3d3;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%; }
  .retry-button:hover {
    background-color: #eaeaea;
    color: #bbbbbb; }
.activity-log--wrapper {
  padding: 20px; }

.activity-log--badge {
  display: inline-block;
  padding: 5px 10px;
  min-width: 80px;
  background: gray;
  color: white;
  border-radius: 5px;
  text-align: center;
  font-weight: bold; }
  .activity-log--badge__create {
    background-color: #9DCF62; }
  .activity-log--badge__update {
    background-color: #35668F; }
  .activity-log--badge__delete {
    background-color: #de1927; }

.activity-log--diff-row {
  width: 100%;
  white-space: normal;
  padding-top: 6px;
  padding-bottom: 6px;
  position: relative; }
  .activity-log--diff-row:after {
    content: "";
    display: block;
    background-color: #ACACAC;
    bottom: 0;
    width: 100%;
    height: 1px;
    position: absolute; }
  .activity-log--diff-row--key {
    font-weight: bold;
    display: block;
    font-size: 14px; }
  .activity-log--diff-row--prev, .activity-log--diff-row--new {
    font-style: italic;
    font-size: 16px; }
  .activity-log--diff-row--prev-val {
    margin-right: 20px; }
    .activity-log--diff-row--prev-val > span:first-child {
      font-weight: bold; }
  .activity-log--diff-row--new-val > span:first-child {
    font-weight: bold; }

.activity-log--diff-row--wrapper .activity-log--diff-row:last-child:after {
  display: none; }

.activity-log .ps__scrollbar-x-rail {
  z-index: 1000; }
.mapping-form {
  width: 100%; }
  .mapping-form .cdm-check {
    height: 86px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0; }
    .mapping-form .cdm-check .glyphicon {
      font-size: 30px;
      padding: 0 10px;
      color: #5cb85c;
      width: 60px; }
    .mapping-form .cdm-check .glyphicon-remove {
      color: #ea1f19; }
  .mapping-form .form-group-buttons {
    display: flex; }
  .mapping-form .CDM_Mapping_Add_Compound {
    right: 28%; }
  .mapping-form .addMapping_Overlay {
    position: relative;
    top: 14px;
    right: 2px; }

.ui2-reports-table__wrapper {
  height: auto !important;
  height: 300px;
  overflow-x: auto; }

.block {
  border: 1px solid #ccc;
  margin: 0 15px 25px;
  width: calc(100% - 30px) !important; }

.checkbox-block > div {
  display: inline-block;
  margin-right: 20px; }
.mapped-cdm__container .table-similar-container {
  margin-bottom: 0; }

.mapped-cdm__container .form-group-buttons {
  margin-bottom: 0; }

.mapped-cdm__container .btn-cancel {
  margin: 20px 0 0;
  float: right; }

.mapping-modal {
  width: 90% !important;
  background-color: white; }
  .mapping-modal .modal-body {
    overflow-y: scroll;
    height: 95vh; }

.hide-scroolbar {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.hide-scroolbar::-webkit-scrollbar {
  display: none; }

.close-btn {
  text-align: right;
  margin-bottom: 10px; }
.related-accumulations .select-search {
  margin-right: 15px; }

.related-accumulations .select-search .dropdown .btn {
  height: 45px; }

.related-accumulations__header {
  padding: 0 15px;
  display: flex;
  align-items: center; }

.accumulations-wrapper .related-accumulations .form-group.search-input-group .icomoon-search {
  top: 13px; }

.accumulations-wrapper .related-accumulations .form-group.search-input-group input {
  height: 45px; }
.edit-icon {
  color: #8AB14E;
  cursor: pointer; }

.edit-icon-disable {
  color: gray; }

.icon-trash {
  cursor: pointer; }
.title-label {
  margin-left: 30px;
  display: flex;
  align-items: center; }
  .title-label__img {
    height: 22px;
    width: 22px;
    margin-right: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block; }
    .title-label__img--pharmacy {
      background-image: url("/imgs/icons/icons8-journey.png"); }
    .title-label__img--outbox {
      background-image: url("/imgs/icons/icons8-outbox.png"); }
    .title-label__img--claim {
      width: 18px;
      height: 18px; }
      .title-label__img--claim--captured {
        background-image: url("/imgs/claim-status/icons8-checked.png"); }
      .title-label__img--claim--manually-captured {
        background-image: url("/imgs/claim-status/user-confirm-accept.png"); }
      .title-label__img--claim--partial {
        background-image: url("/imgs/claim-status/question.png"); }
      .title-label__img--claim--other {
        background-image: url("/imgs/claim-status/stop-wrong.png"); }
  .title-label__text {
    font-weight: bold;
    font-size: 16px; }
.ledger-tab-wrapper {
  padding: 20px;
  display: flex; }
  .ledger-tab-wrapper .ledger-buckets-tabs {
    padding: 0 25px;
    width: 295px; }
  .ledger-tab-wrapper .ledger-buckets-header-wrapper {
    display: flex;
    justify-content: space-between; }
  .ledger-tab-wrapper .ledger-buckets-header {
    margin: 0 0 20px 0;
    font-weight: bold;
    font-size: 24px; }
  .ledger-tab-wrapper .ledger-buckets-summary {
    padding: 0 25px; }
    .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table {
      table-layout: auto;
      width: 570px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table thead {
        border-bottom: 2px solid #35668F; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table thead tr th {
          padding-top: 7px;
          padding-bottom: 7px;
          text-align: right;
          color: #99a0ab; }
          .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table thead tr th:last-child {
            padding-right: 15px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr:nth-child(even) {
        background: #ECECEC; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr:nth-child(even).exceptions-row {
          background: #FFFFFF; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr td {
        padding-top: 6px;
        padding-bottom: 6px;
        text-align: right;
        color: #55606E;
        font-size: 15px;
        font-weight: bold; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr td:first-child {
          text-align: left;
          padding-left: 15px; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr td:last-child {
          padding-right: 15px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr.exceptions-row {
        border-top: 2px solid #E4414C;
        border-bottom: 2px solid #E4414C; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tbody tr.exceptions-row > td {
          color: #E4414C; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tfoot {
        border-top: 2px solid #35668F; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tfoot td {
          font-size: 20px;
          color: #55606E;
          font-weight: bold;
          padding-top: 15px;
          padding-bottom: 15px; }
          .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table tfoot td:first-child {
            padding-left: 15px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-type {
        width: 180px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-total {
        width: 120px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-qty {
        width: 120px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-packages {
        width: 140px;
        padding-right: 15px;
        padding-left: 40px;
        text-align: right;
        position: relative; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-loading {
        height: 120px;
        position: relative; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-cell-loading > .rxs-spinner {
          position: absolute;
          top: calc(50% - 20px);
          left: calc(50% - 20px); }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .rxs-spinner.summary-cell-exceptions-loading {
        margin-top: 0; }
        .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .rxs-spinner.summary-cell-exceptions-loading > div {
          margin-top: 6px; }
      .ledger-tab-wrapper .ledger-buckets-summary .ledger-summary-table .summary-row-order-type td:first-child {
        padding-left: 35px; }
  .ledger-tab-wrapper .ledger-buckets-tabs-note {
    margin-top: 20px; }
    .ledger-tab-wrapper .ledger-buckets-tabs-note p {
      margin-top: 20px;
      font-size: 13px;
      color: #99a0ab;
      font-weight: 600; }
  .ledger-tab-wrapper .ledger-buckets-important-dates {
    padding: 0 25px;
    width: 380px; }
    .ledger-tab-wrapper .ledger-buckets-important-dates .ledger-important-date-label {
      font-size: 15px;
      color: #99a0ab;
      font-weight: 600; }
    .ledger-tab-wrapper .ledger-buckets-important-dates .ledger-buckets-important-dates-details {
      padding-top: 0px; }
  .ledger-tab-wrapper .icomoon-plus {
    font-size: 12px;
    position: absolute;
    left: 25px;
    top: 9px; }
    .ledger-tab-wrapper .icomoon-plus:before {
      color: #29D023; }
  .ledger-tab-wrapper .icomoon-minus {
    font-size: 2px;
    position: absolute;
    left: 25px;
    top: 15px; }
    .ledger-tab-wrapper .icomoon-minus:before {
      color: #E4414C; }

.ledger-navbar-tabs {
  border-radius: 5px;
  border: 1px solid #35668F;
  background-color: #ffffff;
  margin: 0;
  display: flex;
  flex-wrap: wrap; }
  .ledger-navbar-tabs--item {
    flex: 1 1 auto; }
    .ledger-navbar-tabs--item.active a {
      border-radius: 4px;
      background-color: #35668F !important;
      color: #fff !important; }
    .ledger-navbar-tabs--item a {
      padding: 9px 17px !important;
      border-radius: 5px;
      background-color: #fff;
      color: #35668F !important;
      font-size: 14px;
      font-weight: 700; }
.innerpack-form-edit__table-container {
  margin-top: 20px; }
  .innerpack-form-edit__table-container .form-group {
    margin-bottom: 0; }
    .innerpack-form-edit__table-container .form-group .form-control {
      height: 42px; }

.innerpack-form-edit__search.form-group {
  margin-bottom: 0; }
  .innerpack-form-edit__search.form-group .icomoon-search {
    line-height: 10px; }
    .innerpack-form-edit__search.form-group .icomoon-search:before {
      line-height: 10px; }

.innerpack-form-edit__search.form-group.search-input-group input {
  height: 45px !important; }

.dp-right .date-range-picker--dropdown__body {
  left: unset;
  right: 0; }
.mapping-form {
  width: 100%; }
  .mapping-form .cdm-check {
    height: 86px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0; }
    .mapping-form .cdm-check .glyphicon {
      font-size: 30px;
      padding: 0 10px;
      color: #5cb85c;
      width: 60px; }
    .mapping-form .cdm-check .glyphicon-remove {
      color: #ea1f19; }
  .mapping-form .form-group-buttons {
    display: flex; }

.innerpack-form-edit__table-container {
  margin-top: 20px; }
  .innerpack-form-edit__table-container .form-group {
    margin-bottom: 0; }
    .innerpack-form-edit__table-container .form-group .form-control {
      height: 42px; }

.innerpack-form-edit__search.form-group {
  margin-bottom: 0; }
  .innerpack-form-edit__search.form-group .icomoon-search {
    line-height: 10px; }
    .innerpack-form-edit__search.form-group .icomoon-search:before {
      line-height: 10px; }

.innerpack-form-edit__search.form-group.search-input-group input {
  height: 45px !important; }
.activity-log--wrapper {
  padding: 20px; }

.activity-log--badge {
  display: inline-block;
  padding: 5px 10px;
  min-width: 80px;
  background: gray;
  color: white;
  border-radius: 5px;
  text-align: center;
  font-weight: bold; }
  .activity-log--badge__create {
    background-color: #9DCF62; }
  .activity-log--badge__update {
    background-color: #35668F; }
  .activity-log--badge__delete {
    background-color: #de1927; }

.activity-log--diff-row {
  width: 100%;
  white-space: normal;
  padding-top: 6px;
  padding-bottom: 6px;
  position: relative; }
  .activity-log--diff-row:after {
    content: "";
    display: block;
    background-color: #ACACAC;
    bottom: 0;
    width: 100%;
    height: 1px;
    position: absolute; }
  .activity-log--diff-row--key {
    font-weight: bold;
    display: block;
    font-size: 14px; }
  .activity-log--diff-row--prev, .activity-log--diff-row--new {
    font-style: italic;
    font-size: 16px; }
  .activity-log--diff-row--prev-val {
    margin-right: 20px; }
    .activity-log--diff-row--prev-val > span:first-child {
      font-weight: bold; }
  .activity-log--diff-row--new-val > span:first-child {
    font-weight: bold; }

.activity-log--diff-row--wrapper .activity-log--diff-row:last-child:after {
  display: none; }

.activity-log .ps__scrollbar-x-rail {
  z-index: 1000; }
.innerpack-form-edit__table-container {
  margin-top: 20px; }
  .innerpack-form-edit__table-container .form-group {
    margin-bottom: 0; }
    .innerpack-form-edit__table-container .form-group .form-control {
      height: 42px; }

.innerpack-form-edit__search.form-group {
  margin-bottom: 0; }
  .innerpack-form-edit__search.form-group .icomoon-search {
    line-height: 10px; }
    .innerpack-form-edit__search.form-group .icomoon-search:before {
      line-height: 10px; }

.innerpack-form-edit__search.form-group.search-input-group input {
  height: 45px !important; }

.dp-right .date-range-picker--dropdown__body {
  left: unset;
  right: 0; }
.mapping-form {
  width: 100%; }
  .mapping-form .cdm-check {
    height: 86px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0; }
    .mapping-form .cdm-check .glyphicon {
      font-size: 30px;
      padding: 0 10px;
      color: #5cb85c;
      width: 60px; }
    .mapping-form .cdm-check .glyphicon-remove {
      color: #ea1f19; }
  .mapping-form .form-group-buttons {
    display: flex; }

.innerpack-form-edit__table-container {
  margin-top: 20px; }
  .innerpack-form-edit__table-container .form-group {
    margin-bottom: 0; }
    .innerpack-form-edit__table-container .form-group .form-control {
      height: 42px; }

.innerpack-form-edit__search.form-group {
  margin-bottom: 0; }
  .innerpack-form-edit__search.form-group .icomoon-search {
    line-height: 10px; }
    .innerpack-form-edit__search.form-group .icomoon-search:before {
      line-height: 10px; }

.innerpack-form-edit__search.form-group.search-input-group input {
  height: 45px !important; }

.uniqueMultiplierNdc {
  color: red; }
.activity-log--wrapper {
  padding: 20px; }

.activity-log--badge {
  display: inline-block;
  padding: 5px 10px;
  min-width: 80px;
  background: gray;
  color: white;
  border-radius: 5px;
  text-align: center;
  font-weight: bold; }
  .activity-log--badge__create {
    background-color: #9DCF62; }
  .activity-log--badge__update {
    background-color: #35668F; }
  .activity-log--badge__delete {
    background-color: #de1927; }

.activity-log--diff-row {
  width: 100%;
  white-space: normal;
  padding-top: 6px;
  padding-bottom: 6px;
  position: relative; }
  .activity-log--diff-row:after {
    content: "";
    display: block;
    background-color: #ACACAC;
    bottom: 0;
    width: 100%;
    height: 1px;
    position: absolute; }
  .activity-log--diff-row--key {
    font-weight: bold;
    display: block;
    font-size: 14px; }
  .activity-log--diff-row--prev, .activity-log--diff-row--new {
    font-style: italic;
    font-size: 16px; }
  .activity-log--diff-row--prev-val {
    margin-right: 20px; }
    .activity-log--diff-row--prev-val > span:first-child {
      font-weight: bold; }
  .activity-log--diff-row--new-val > span:first-child {
    font-weight: bold; }

.activity-log--diff-row--wrapper .activity-log--diff-row:last-child:after {
  display: none; }

.activity-log .ps__scrollbar-x-rail {
  z-index: 1000; }
.ui2-card-box-field__label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: 600;
  padding-top: 15px;
  min-width: 150px; }

.ui2-card-box-field__value {
  color: #55606E;
  font-size: 15px;
  font-weight: bold; }
.consider-badge {
  display: flex; }
  .consider-badge__img {
    height: 22px;
    width: 22px;
    margin-right: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block; }
    .consider-badge__img--yes {
      background-image: url("/imgs/claim-status/icons8-checked.png"); }
    .consider-badge__img--no {
      background-image: url("/imgs/icons/icons8-x.png");
      width: 18px;
      height: 18px;
      margin: 2px 12px 2px 2px; }
  .consider-badge__label {
    line-height: 22px; }
.eligibility__box {
  padding: 30px; }

.eligibility__header {
  margin-bottom: 10px;
  font-weight: bold; }

.eligibility__add {
  padding-top: 20px; }
  .eligibility__add--buttons .btn {
    display: inline-block;
    height: 35px;
    width: 100px;
    margin-right: 15px;
    text-align: center;
    padding: 0; }
  .eligibility__add--label {
    font-weight: bold; }

.eligibility__item {
  display: flex;
  align-items: center;
  border-top: 1px solid #cdcdcd;
  padding: 10px 0px; }
  .eligibility__item--edit {
    background-color: #fafeff; }

.eligibility .form-group {
  margin-bottom: 0; }

.eligibility--empty .eligibility__item {
  border: none; }
.claim-approval-continer {
  margin: 15px; }
  .claim-approval-continer .custom-buttons-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px; }
    .claim-approval-continer .custom-buttons-container .ui2-top-header__left {
      flex: 1; }
    .claim-approval-continer .custom-buttons-container .ui2-top-header__right {
      margin-left: auto;
      display: flex;
      flex-direction: column;
      align-items: flex-end; }
    .claim-approval-continer .custom-buttons-container .custom-buttons {
      display: inline-block;
      vertical-align: top;
      margin-bottom: 15px;
      margin-bottom: 2px; }
  .claim-approval-continer .card-box__detail {
    width: 15%; }
  .claim-approval-continer .card-box-detail-max-label {
    width: 30%; }
  .claim-approval-continer .btn {
    height: 35px;
    margin: 5px; }
  .claim-approval-continer .custom-approval-buttons {
    padding-left: 25px; }
.orders-container {
  margin: 15px; }
  .orders-container .button-container {
    margin-bottom: 15px;
    display: flex;
    flex-direction: row-reverse; }
.clear-location > .search-input-group > button {
  right: 2.5%; }
  @media (min-width: 2560px) {
    .clear-location > .search-input-group > button {
      right: 6%; } }

.clear-location .locations-csv {
  margin-top: 15px;
  float: right; }

.clear-location .search-filter {
  min-width: 240px; }
.ce-parent-from {
  background-color: white;
  margin-bottom: 20px;
  position: relative; }
  .ce-parent-from .form-container {
    padding: 15px; }
    .ce-parent-from .form-container .ml-10 {
      margin-left: 10px; }
  .ce-parent-from .btn-container {
    display: flex; }
    .ce-parent-from .btn-container button {
      margin-left: 5px; }
  .ce-parent-from .add-network-button-container {
    position: absolute;
    left: 24%;
    top: 22%; }
  .ce-parent-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .ce-parent-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }
.notification-button-container {
  position: absolute;
  left: 75%;
  top: 74%; }
.location-card-box {
  width: 100%; }
.parent-fee {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 1rem; }
  .parent-fee .ml-2 {
    margin-left: 0.5rem; }

.parent-description textarea {
  height: 72px !important;
  width: 140% !important;
  padding: 0.5rem;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid #c7ced6 !important;
  border-radius: 2px; }

.parent-notes textarea {
  height: 72px !important;
  width: 140% !important;
  padding: 0.5rem;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid #c7ced6 !important;
  border-radius: 4px; }
#body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-type-select {
  grid-template-columns: minmax(100px, 250px);
  height: 39px; }
  #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-type-select .react-select__control {
    height: 39px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px;
    width: 100%; }
    #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-type-select .react-select__control .react-select__placeholder {
      text-wrap: nowrap; }
  #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-type-select .react-select__menu {
    width: 100%; }

#body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-location-select {
  grid-template-columns: minmax(100px, 220px);
  height: 39px;
  margin-right: 0px !important; }
  #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-location-select .react-select__control {
    height: 39px;
    border-radius: 8px;
    box-shadow: none;
    min-height: 0px;
    width: 100%; }
    #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-location-select .react-select__control .react-select__placeholder {
      text-wrap: nowrap; }
  #body.contract_rx .contract-provider .tooltip-wrapper.ce-providers__provider-location-select .react-select__menu {
    width: 100%; }
.wholesaler-from {
  background-color: white;
  margin-bottom: 20px; }
  .wholesaler-from .form-container {
    padding: 15px; }
  .wholesaler-from .btn-container {
    display: flex; }
    .wholesaler-from .btn-container button {
      margin-left: 5px; }
  .wholesaler-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .wholesaler-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }

.add-icon {
  color: #0091c4;
  cursor: pointer;
  position: "absolute"; }

.add-icon-disable {
  color: gray;
  position: "absolute"; }
.eligibity-filters .inneraddRPGOrdering {
  left: 90%;
  margin-bottom: 10px;
  position: relative; }

.tooltip-icon {
  margin-left: 10px; }

.true-up-modal.modal-dialog {
  width: 90%; }
  .true-up-modal.modal-dialog .ui2-react-table__tbody {
    height: 250px; }

.add-pharmacy-rpg-modal.modal-dialog {
  width: 90%; }

.rx-rpg-eligibility-validation {
  position: relative; }
  .rx-rpg-eligibility-validation .form-fields {
    margin-right: 0px; }

.sectionHeader h4 {
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding-bottom: 10px; }

.rpg-evc-date-field .SingleDatePicker {
  display: block; }

.rpg-evc-date-field .SingleDatePickerInput {
  display: block; }

.rpg-evc-date-field .DateInput {
  display: block; }
.rx-rpg-eligibility-validation {
  position: relative; }
  .rx-rpg-eligibility-validation .form-fields {
    margin-right: 0px; }

.sectionHeader h4 {
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding-bottom: 10px; }

.rpg-evc-date-field .SingleDatePicker {
  display: block; }

.rpg-evc-date-field .SingleDatePickerInput {
  display: block; }

.rpg-evc-date-field .DateInput {
  display: block; }
.rx-manufacture-buttons-panel .ui2-top-header__filters {
  display: block !important; }
  .rx-manufacture-buttons-panel .ui2-top-header__filters .leftHeaderPanel {
    display: flex;
    align-items: flex-end;
    margin: 0px 0px 15px 0px; }
  .rx-manufacture-buttons-panel .ui2-top-header__filters .rightHeaderPanel {
    display: flex;
    justify-content: flex-end;
    margin: 0px;
    flex-wrap: wrap; }
    .rx-manufacture-buttons-panel .ui2-top-header__filters .rightHeaderPanel .exportNdc {
      width: 20rem; }
    .rx-manufacture-buttons-panel .ui2-top-header__filters .rightHeaderPanel .manufacturer_btn {
      margin: 0 20px; }
    @media (max-width: 500px) {
      .rx-manufacture-buttons-panel .ui2-top-header__filters .rightHeaderPanel {
        justify-content: flex-start; }
        .rx-manufacture-buttons-panel .ui2-top-header__filters .rightHeaderPanel .export__container {
          margin: 1rem 0; } }

.display_inline {
  display: flex;
  margin-bottom: 2rem; }
  .display_inline .exportNdc {
    width: 20rem; }

.rx-manufacture-buttons-panel .action-and-filter-row__action-column {
  width: 70%; }

.rx-manufacture-buttons-panel .action-and-filter-row__filter-column {
  width: 30%; }

.rx-manufacture-buttons-panel .manufacturer-blocks-export-button {
  margin-right: 5px;
  width: 190px; }

.rx-manufacture-buttons-panel .manufacturer-blocks-export-ndc-button {
  margin-right: 5px;
  width: 280px; }
  .rx-manufacture-buttons-panel .manufacturer-blocks-export-ndc-button .export__container.dropdown.btn-group {
    width: 250px !important; }
.form-import {
  background-color: white;
  margin-bottom: 20px; }
  .form-import .form-import {
    padding: 15px; }

.importModal .modal-dialog {
  width: 1000px; }

.errorModal .modal-dialog {
  width: 90%; }

.display_inline {
  display: flex;
  margin-bottom: 2rem; }
  .display_inline .exportNdc {
    width: 20rem; }
.ce-rtgroup-containter .ce-rtgroup__submit-btn,
.ce-fee-dir-group-container .ce-rtgroup__submit-btn,
.ce-day-supply-group-container .ce-rtgroup__submit-btn {
  margin-right: 5px;
  background-color: green;
  border-color: green; }

.ce-rtgroup-containter .card-box__title,
.ce-fee-dir-group-container .card-box__title,
.ce-day-supply-group-container .card-box__title {
  margin-top: 10px;
  margin-left: 10px; }

.ce-rtgroup-containter .card-box__content,
.ce-fee-dir-group-container .card-box__content,
.ce-day-supply-group-container .card-box__content {
  margin: 10px; }

.ce-rtgroup-containter .fc-rtgroup__submit-btn,
.ce-fee-dir-group-container .fc-rtgroup__submit-btn,
.ce-day-supply-group-container .fc-rtgroup__submit-btn {
  position: relative;
  margin-bottom: 20px;
  right: 50px; }

.ce-rtgroup-containter .four-part-filter-row__selectors,
.ce-fee-dir-group-container .four-part-filter-row__selectors,
.ce-day-supply-group-container .four-part-filter-row__selectors {
  width: 0%; }

.ce-rtgroup-containter .four-part-filter-row__filters,
.ce-fee-dir-group-container .four-part-filter-row__filters,
.ce-day-supply-group-container .four-part-filter-row__filters {
  width: 100%; }

.ce-rtgroup-containter .four-part-filter-row__filters .dir-fee-search.btn,
.ce-rtgroup-containter .four-part-filter-row__filters .rt-fee-search.btn,
.ce-rtgroup-containter .four-part-filter-row__filters .dsg-fee-search.btn,
.ce-fee-dir-group-container .four-part-filter-row__filters .dir-fee-search.btn,
.ce-fee-dir-group-container .four-part-filter-row__filters .rt-fee-search.btn,
.ce-fee-dir-group-container .four-part-filter-row__filters .dsg-fee-search.btn,
.ce-day-supply-group-container .four-part-filter-row__filters .dir-fee-search.btn,
.ce-day-supply-group-container .four-part-filter-row__filters .rt-fee-search.btn,
.ce-day-supply-group-container .four-part-filter-row__filters .dsg-fee-search.btn {
  height: 39px;
  width: 150px;
  margin: 24px 0px 0px 0px; }

.ce-rtgroup-containter .four-part-filter-row__filters .contract-rtgroup-search,
.ce-fee-dir-group-container .four-part-filter-row__filters .contract-rtgroup-search,
.ce-day-supply-group-container .four-part-filter-row__filters .contract-rtgroup-search {
  margin: 12px 10px 0px 0px;
  display: grid;
  grid-template-columns: minmax(100px, 400px);
  max-width: 400px; }
  .ce-rtgroup-containter .four-part-filter-row__filters .contract-rtgroup-search .warning.DIRgroup_warning,
  .ce-fee-dir-group-container .four-part-filter-row__filters .contract-rtgroup-search .warning.DIRgroup_warning,
  .ce-day-supply-group-container .four-part-filter-row__filters .contract-rtgroup-search .warning.DIRgroup_warning {
    display: flex;
    width: max-content;
    margin-top: 5px; }
  .ce-rtgroup-containter .four-part-filter-row__filters .contract-rtgroup-search .btn-clear,
  .ce-fee-dir-group-container .four-part-filter-row__filters .contract-rtgroup-search .btn-clear,
  .ce-day-supply-group-container .four-part-filter-row__filters .contract-rtgroup-search .btn-clear {
    top: 9px !important;
    padding: 5px;
    right: 15px; }

.ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column,
.ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column,
.ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column {
  margin-top: -5px; }
  .ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .dir-fee-group__add-btn,
  .ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .rt-fee-group__add-btn,
  .ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .day-supply-group__add-btn,
  .ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .dir-fee-group__add-btn,
  .ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .rt-fee-group__add-btn,
  .ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .day-supply-group__add-btn,
  .ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .dir-fee-group__add-btn,
  .ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .rt-fee-group__add-btn,
  .ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .day-supply-group__add-btn {
    width: 220px !important; }
  .ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown,
  .ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown,
  .ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container.dropdown {
    width: 175px; }
  .ce-rtgroup-containter .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container--single .export__button--action.btn,
  .ce-fee-dir-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container--single .export__button--action.btn,
  .ce-day-supply-group-container .action-and-filter-row .action-and-filter-row__action-column .ui2-top-header__action-button .export__container--single .export__button--action.btn {
    width: 175px; }

.ce-rtgroup-containter .DIRgroup_warning img,
.ce-fee-dir-group-container .DIRgroup_warning img,
.ce-day-supply-group-container .DIRgroup_warning img {
  width: auto;
  height: 20px !important; }

.DIRgroup_warning img {
  width: auto;
  height: 30px; }

.dir-fee-search {
  margin-left: 5%;
  margin-top: 2%; }

.revenuetier_erx-form__footer {
  margin-top: 20px;
  margin-right: auto; }

.ui2-top-header__right--filters {
  margin-bottom: 20px; }
.platformFee-update {
  margin-bottom: 25px; }

.dispensation_fee_status-label {
  position: static;
  display: inline-flex;
  margin-left: 20px; }

.patientType-FeeType {
  position: absolute;
  left: 24%;
  top: 130px;
  font-size: 28px; }

.patientType-days_Supply_Group {
  position: absolute;
  left: 75%;
  top: 330px;
  font-size: 28px; }

.patientType-days_Revenue_Tier {
  position: absolute;
  left: 24%;
  top: 430px;
  font-size: 28px; }

.patientType-days_DIR_Group {
  position: absolute;
  left: 50%;
  top: 430px;
  font-size: 28px; }

.patientType-days_Formulary_Group {
  position: absolute;
  left: 75%;
  top: 430px;
  font-size: 28px; }

.dispensation-filters-type {
  font-weight: bold;
  color: #929292; }

.dispensation-filters {
  margin-bottom: 20px; }

.dispensation-filters-Name {
  margin-left: 20px;
  font-weight: bold; }
.cesite-from {
  background-color: white;
  margin-bottom: 20px; }
  .cesite-from .form-container {
    padding: 15px; }
  .cesite-from .btn-container {
    display: flex; }
    .cesite-from .btn-container button {
      margin-left: 5px; }
  .cesite-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .cesite-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }
.platformFee-claim-box .platformFee-card-box__detail {
  width: 20%; }

.platformFee-update {
  margin-bottom: 25px; }

.patient_type_status-label {
  position: static;
  display: inline-flex; }

.patientType-days_PlatformFee_Formulary_Group {
  position: absolute;
  left: 49%;
  top: 330px;
  font-size: 28px; }

.icomoon-support.rubix-icon.parent-level-fee-info-icon {
  line-height: 0 !important;
  margin-left: 5px;
  cursor: pointer; }

.update-platform-fee-confirmation-modal .modal-buttons {
  justify-content: center !important; }
.mapping-form {
  width: 100%; }
  .mapping-form .cdm-check {
    height: 86px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0; }
    .mapping-form .cdm-check .glyphicon {
      font-size: 30px;
      padding: 0 10px;
      color: #5cb85c;
      width: 60px; }
    .mapping-form .cdm-check .glyphicon-remove {
      color: #ea1f19; }
  .mapping-form .form-group-buttons {
    display: flex; }
  .mapping-form .CDM_Mapping_Add_Compound {
    right: 28%; }
  .mapping-form .addMapping_Overlay {
    position: relative;
    top: 14px;
    right: 2px; }

.ui2-reports-table__wrapper {
  height: auto !important;
  height: 300px;
  overflow-x: auto; }

.block {
  border: 1px solid #ccc;
  margin: 0 15px 25px;
  width: calc(100% - 30px) !important; }

.checkbox-block > div {
  display: inline-block;
  margin-right: 20px; }

.customNdcMapFormLoaderWrapper {
  position: absolute;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.5);
  width: calc(100% - 90px);
  height: 270px; }

.customNdcUpdateFormContainer.ndcChecking {
  height: 270px !important; }

.customNdcAddFormContainer.ndcChecking {
  height: 270px !important; }
.add-cd-config-container, .update-cd-form-container {
  background-color: white;
  margin-bottom: 20px;
  position: relative;
  padding: 15px; }
  .add-cd-config-container .form-group, .update-cd-form-container .form-group {
    margin-bottom: 10px; }
  .add-cd-config-container .col-xs-12 .row, .update-cd-form-container .col-xs-12 .row {
    margin-left: 0px; }
    .add-cd-config-container .col-xs-12 .row .non-accumulating-bucket-section-header, .update-cd-form-container .col-xs-12 .row .non-accumulating-bucket-section-header {
      font-weight: bolder;
      font-size: 17px;
      color: #353e4a; }
  .add-cd-config-container .btn-container, .update-cd-form-container .btn-container {
    display: flex; }
    .add-cd-config-container .btn-container button, .update-cd-form-container .btn-container button {
      margin-right: 10px; }
.add-cd-group-form, .edit-cd-group-form {
  margin-bottom: 5px; }
  .add-cd-group-form .group-accumulating-bucket-section-header,
  .add-cd-group-form .group-terminating-bucket-section-header, .edit-cd-group-form .group-accumulating-bucket-section-header,
  .edit-cd-group-form .group-terminating-bucket-section-header {
    display: 'flex';
    align-items: 'center'; }
    .add-cd-group-form .group-accumulating-bucket-section-header p,
    .add-cd-group-form .group-terminating-bucket-section-header p, .edit-cd-group-form .group-accumulating-bucket-section-header p,
    .edit-cd-group-form .group-terminating-bucket-section-header p {
      font-weight: bolder;
      font-size: 17px;
      color: #353e4a;
      display: flex;
      align-items: center; }
  .add-cd-group-form .row, .edit-cd-group-form .row {
    margin-right: 0px; }
  .add-cd-group-form .maxNonAccumulatingBucketOrderLimit, .edit-cd-group-form .maxNonAccumulatingBucketOrderLimit {
    width: 20%; }
  .add-cd-group-form .add-accumulating-bucket-button-container,
  .add-cd-group-form .add-terminating-bucket-button-container, .edit-cd-group-form .add-accumulating-bucket-button-container,
  .edit-cd-group-form .add-terminating-bucket-button-container {
    display: flex;
    margin-left: auto; }
  .add-cd-group-form .add-cd-group-submit-button-container, .add-cd-group-form .edit-cd-group-submit-button-container, .edit-cd-group-form .add-cd-group-submit-button-container, .edit-cd-group-form .edit-cd-group-submit-button-container {
    display: flex;
    justify-content: flex-end;
    margin-left: auto; }
  .add-cd-group-form .remove-button-container, .edit-cd-group-form .remove-button-container {
    display: flex;
    margin-left: auto;
    top: 32px;
    height: fit-content; }

.cd-group-form-modal .details-modal.modal-dialog {
  width: 50% !important; }
.bin-white-list .four-part-filter-row__selectors {
  width: 25%; }

.bin-white-list .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .bin-white-list .four-part-filter-row__filters .tooltip-wrapper.bin-whitelist-search {
    min-width: 0px;
    max-width: 500px;
    grid-template-columns: minmax(100px, 500px); }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 10px; }

.binWhitelistAddForm {
  background-color: white;
  margin-bottom: 20px; }
  .binWhitelistAddForm .form-container {
    padding: 15px; }
  .binWhitelistAddForm .btn-container {
    display: flex; }
    .binWhitelistAddForm .btn-container button {
      margin-left: 5px; }
  .binWhitelistAddForm .binblackList .date-range-picker--dropdown__header input {
    width: 100% !important; }
  .binWhitelistAddForm .wholesalerForm .date-range-input {
    margin-right: 0px; }

.AddBinWhiteAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }

.AddBinWhiteAddForm .multi-select-field button {
  width: 80%;
  height: 45px; }
.cd-groups-container .button-header-container {
  display: flex; }
  .cd-groups-container .button-header-container .table-information {
    display: flex;
    margin: 20px 0px 25px 25px; }
  .cd-groups-container .button-header-container .svg-inline--fa {
    margin-top: 3px; }
  .cd-groups-container .button-header-container p {
    margin: 0px;
    margin-left: 10px;
    font-weight: 600;
    font-size: medium; }
.cd-ordering-form-container {
  background-color: white;
  padding: 15px;
  margin-left: 20px;
  margin-bottom: 20px;
  position: relative; }
  .cd-ordering-form-container .overlay {
    position: absolute; }

.btn-container {
  display: flex; }
.central-distribution__card-box .card-box__title {
  margin-left: 0px; }

.central-distribution__card-box .card-box .cd-active {
  display: flex;
  align-items: center; }
  .central-distribution__card-box .card-box .cd-active .fa-shield-check {
    color: #2a7709;
    margin-left: 10px;
    font-size: 21px;
    margin-top: -2px; }
  .central-distribution__card-box .card-box .cd-active .active-text {
    color: #2a7709;
    margin-left: 7px;
    font-size: 21px; }

.central-distribution__card-box .card-box .cd-inactive {
  display: flex;
  align-items: center; }
  .central-distribution__card-box .card-box .cd-inactive .fa-shield-xmark {
    color: #ce0909;
    margin-left: 10px;
    font-size: 21px;
    margin-top: -2px; }
  .central-distribution__card-box .card-box .cd-inactive .inactive-text {
    color: #ce0909;
    margin-left: 7px;
    font-size: 21px; }
.cd-ndc-order-limit .ag-header-cell-label,
.cd-ndc-order-limit .ag-header-group-cell-label {
  justify-content: center; }

.cd-ndc-order-limit .ag-header-cell,
.cd-ndc-order-limit .ag-header-group-cell {
  border-left: solid 1px #d4d6d5;
  text-align: center;
  font-size: 16px !important;
  font-family: 'Proxima Nova' !important; }

.cd-ndc-order-limit .ag-header-group-cell.ag-header-group-cell-with-group:first-child,
.cd-ndc-order-limit .ag-header-cell.ag-focus-managed:first-child,
.cd-ndc-order-limit .ag-cell.ag-cell-not-inline-editing.ag-cell-normal-height.ag-cell-last-left-pinned.ag-cell-value:first-child {
  border-left: none !important; }

.cd-ndc-order-limit .ag-cell {
  border-left: solid 1px #d4d6d5 !important;
  font-size: 15px !important;
  font-family: 'Proxima Nova' !important;
  text-align: center; }

.cd-ndc-order-limit .ag-header-row .ag-header-row-column-group {
  height: 300px; }

.cd-ndc-order-limit .header-label {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  flex-grow: 1;
  text-align: center; }
  .cd-ndc-order-limit .header-label .value {
    flex-grow: 1;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis; }

.cd-ndc-order-limit .search-input {
  display: flex;
  margin-left: 12px; }
  .cd-ndc-order-limit .search-input input {
    border-radius: 8px;
    width: 35%;
    min-width: 300px;
    max-width: 550px;
    margin-top: 18px !important;
    position: relative;
    padding-left: 57px;
    height: 42px;
    transition: all 0.2s;
    border: 1px solid #cdcdcd;
    margin-left: -21px; }
    .cd-ndc-order-limit .search-input input::placeholder {
      font-size: 18px;
      color: #cfd2d5; }
    .cd-ndc-order-limit .search-input input::-ms-clear {
      display: none; }
    .cd-ndc-order-limit .search-input input.form-check-input {
      height: auto !important; }
  .cd-ndc-order-limit .search-input .icomoon-search {
    position: relative;
    font-size: 22px;
    left: 17px;
    margin-top: 16px;
    z-index: 1;
    top: 12px; }
  .cd-ndc-order-limit .search-input .search-btn {
    border-radius: 8px;
    font-weight: 700;
    width: 125px;
    position: relative;
    top: 18px;
    margin-left: 8px;
    background-color: #35668F;
    border: 2px solid transparent;
    color: white;
    height: 42px; }
  .cd-ndc-order-limit .search-input .add-btn {
    margin-left: auto;
    margin-right: 12px;
    border-radius: 8px;
    font-weight: 700;
    width: 125px;
    position: relative;
    top: 18px;
    background-color: #35668F;
    border: 2px solid transparent;
    color: white;
    height: 42px; }

.cd-ndc-order-limit .ag-overlay-loading-center {
  position: absolute;
  font-size: 20px; }

.cd-ndc-order-limit .ag-overlay-loading-center.no-rows {
  top: 68%; }
.card-box-field__label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: 600;
  padding-top: 15px; }

.card-box-field__value {
  color: #55606E;
  font-size: 15px;
  font-weight: bold; }
.form-container {
  background-color: white;
  margin-bottom: 20px; }
  .form-container .form-container {
    padding: 15px; }

.add-patinet-type-btn {
  position: relative;
  margin-top: 90px;
  margin-bottom: 20px;
  left: 385px;
  bottom: 70px; }

.title-component .claim-adjustment-header,
.title-component .status-icon {
  display: inline-block; }

.title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.title-component .status-icon {
  margin-left: 10px; }
  .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.card-box__content-wrapper {
  padding: 10px; }

.eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.eligibility-container .eligibity-add-btn {
  flex: 1; }
  .eligibility-container .eligibity-add-btn button {
    float: right; }

.ui2-reports-table__wrapper {
  height: 300px; }

.date-range-picker--dropdown {
  margin-top: 0px; }

.date-range-picker--dropdown__header input {
  min-width: 0px; }

.react-table-form .ui2-react-table__td {
  overflow: inherit; }

/* .btn-styles{
  color:#8ab14e
}
.btn-styles,
.btn-styles:hover,
.btn-styles:active,
.btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px;
} */
/* .btn-styles:hover,
.btn-styles:active,
.btn-styles:focus {
  color: #62842f;
} */
.RTgroup_warning img {
  width: auto;
  height: 30px; }

.rtg-type-search {
  margin-left: 5%;
  margin-top: 2%; }

.fc-rtgroup__submit-btn {
  position: relative;
  margin-bottom: 20px;
  right: 50px; }

.btn-default {
  background: #23c93f;
  color: white;
  border-color: #21c31e; }

.provider__add-btn {
  position: relative;
  margin-right: 0px; }
.days-supply-from {
  background-color: white;
  margin-bottom: 20px; }
  .days-supply-from .form-container {
    padding: 15px; }
  .days-supply-from .btn-container {
    display: flex; }
    .days-supply-from .btn-container button {
      margin-left: 5px; }
  .days-supply-from .mcr-fields .form-group {
    display: inline-block;
    vertical-align: top; }
  .days-supply-from .mcr-fields .mcr-dropdown {
    width: 25%;
    margin-right: 5%; }

.DSgroup_warning img {
  width: auto;
  height: 30px; }

.dsg-type-search {
  margin-left: 5%;
  margin-top: 2%; }

.contract-dsgroup-search {
  width: 450px !important; }
  .contract-dsgroup-search input {
    height: 45px !important; }
  .contract-dsgroup-search .icomoon-search {
    top: 12px; }

.fc-dsgroup__submit-btn {
  position: relative;
  margin-bottom: 20px;
  right: 50px; }

.daysSupply_erx-form__footer {
  margin-top: 20px;
  margin-right: auto; }
.form-container {
  background-color: white;
  margin-bottom: 20px; }
  .form-container .form-container {
    padding: 15px; }

.add-patinet-type-btn {
  position: relative;
  margin-top: 90px;
  margin-bottom: 20px;
  left: 385px;
  bottom: 70px; }

.title-component .claim-adjustment-header,
.title-component .status-icon {
  display: inline-block; }

.title-component .title-label-img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block; }

.title-component .status-icon {
  margin-left: 10px; }
  .title-component .status-icon .status-label {
    font-size: 18px;
    font-weight: 400;
    margin-left: 5px; }

.card-box__content-wrapper {
  padding: 10px; }

.eligibility-container .eligibity-filters {
  margin: 10px;
  display: flex; }

.eligibility-container .eligibity-add-btn {
  flex: 1; }
  .eligibility-container .eligibity-add-btn button {
    float: right; }

.ui2-reports-table__wrapper {
  height: 500px !important; }

.date-range-picker--dropdown {
  margin-top: 0px; }

.date-range-picker--dropdown__header input {
  min-width: 0px; }

.react-table-form .ui2-react-table__td {
  overflow: inherit; }

.btn-styles {
  color: #8ab14e; }

.btn-styles,
.btn-styles:hover,
.btn-styles:active,
.btn-styles:focus {
  display: inline;
  background: white;
  border: 0px;
  padding: 0px 5px 0px 0px; }

.btn-styles:hover,
.btn-styles:active,
.btn-styles:focus {
  color: #62842f; }

.fc-rtgroup__submit-btn {
  position: relative;
  margin-bottom: 20px;
  right: 50px;
  margin-top: 5px; }

.dir-fee-group-add-form-submit-button,
.rt-group-add-form-submit-button {
  display: flex;
  float: right;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  flex-wrap: wrap; }
.gpi_based .four-part-filter-row__selectors {
  width: 25%; }

.gpi_based .GPI_add-btn,
.gpi_based .export-btn {
  margin-left: 0px !important;
  margin-top: 0px !important; }

.gpiBasedAddForm .btn-container {
  display: flex; }
  .gpiBasedAddForm .btn-container button {
    margin-left: 5px; }

.gpiBasedAddForm .gpiBasedExclusion .date-range-picker--dropdown__header input {
  width: 100% !important; }

.gpiBasedAddForm .wholesalerForm .date-range-input {
  margin-right: 0px; }

.AddGpiAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.brand-only-rule .bb-list__submit-btn {
  margin-right: 15px; }

.brand-only-rule .four-part-filter-row__selectors {
  width: 25%; }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 10px; }

.brandOnlyRuleAddForm {
  background-color: white;
  margin-bottom: 20px; }
  .brandOnlyRuleAddForm .form-container {
    padding: 15px; }
  .brandOnlyRuleAddForm .btn-container {
    display: flex; }
    .brandOnlyRuleAddForm .btn-container button {
      margin-left: 5px; }
  .brandOnlyRuleAddForm .gpiBasedExclusion .date-range-picker--dropdown__header input {
    width: 100% !important; }
  .brandOnlyRuleAddForm .wholesalerForm .date-range-input {
    margin-right: 0px; }

.AddBrandOnlyAddForm .multi-select-field button {
  width: 80%;
  height: 45px; }

.AddBrandOnlyAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.rx_based .four-part-filter-row__selectors {
  width: 25%; }

.gpiBasedAddForm .btn-container {
  display: flex; }
  .gpiBasedAddForm .btn-container button {
    margin-left: 5px; }

.gpiBasedAddForm .gpiBasedExclusion .date-range-picker--dropdown__header input {
  width: 100% !important; }

.gpiBasedAddForm .wholesalerForm .date-range-input {
  margin-right: 0px; }

.AddGpiAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }

.AddGpiAddForm .multi-select-field button {
  width: 80%;
  height: 45px; }
  .AddGpiAddForm .multi-select-field button .dropdown-label {
    color: gray; }

.AddGpiAddForm .dropdown-label {
  color: #99a0ab; }
.bin-black-list .bb-list__submit-btn {
  margin-right: 15px; }

.bin-black-list .four-part-filter-row__selectors {
  width: 25%; }

.bin-black-list .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .bin-black-list .four-part-filter-row__filters .tooltip-wrapper.bin-blacklist-search {
    min-width: 0px;
    max-width: 500px;
    grid-template-columns: minmax(100px, 500px); }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 10px; }

.binBlacklistAddForm {
  background-color: white;
  margin-bottom: 20px; }
  .binBlacklistAddForm .form-container {
    padding: 15px; }
  .binBlacklistAddForm .btn-container {
    display: flex; }
    .binBlacklistAddForm .btn-container button {
      margin-left: 5px; }
  .binBlacklistAddForm .binblackList .date-range-picker--dropdown__header input {
    width: 100% !important; }
  .binBlacklistAddForm .wholesalerForm .date-range-input {
    margin-right: 0px; }

.AddBinBlackAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.formulary_based .four-part-filter-row__selectors {
  width: 25%; }

.formularyBasedAddForm .btn-container {
  display: flex; }
  .formularyBasedAddForm .btn-container button {
    margin-left: 5px; }

.formularyBasedAddForm .formularyBasedExclusion .date-range-picker--dropdown__header input {
  width: 100% !important; }

.formularyBasedAddForm .wholesalerForm .date-range-input {
  margin-right: 0px; }

.AddFormularyAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }

.add-formulary-block-parentId {
  border-color: #cdcdcd;
  border-radius: 8px;
  border-style: solid;
  border-width: 1px;
  box-shadow: none; }

.selector-groups.col-xs-12.col-sm-3.form-fields.multi-select-field.parentId button {
  width: 100%;
  border-color: #cdcdcd;
  border-radius: 8px;
  border-style: solid;
  border-width: 1px;
  box-shadow: none; }
.otc_based .four-part-filter-row__selectors {
  width: 25%; }
.ndc_based .four-part-filter-row__selectors {
  width: 25%; }

.ndc_based .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .ndc_based .four-part-filter-row__filters .tooltip-wrapper.ndc-based-exclusion-search {
    min-width: 0px;
    max-width: 500px;
    grid-template-columns: minmax(100px, 500px); }

.gpiBasedAddForm .btn-container {
  display: flex; }
  .gpiBasedAddForm .btn-container button {
    margin-left: 5px; }

.gpiBasedAddForm .gpiBasedExclusion .date-range-picker--dropdown__header input {
  width: 100% !important; }

.gpiBasedAddForm .wholesalerForm .date-range-input {
  margin-right: 0px; }

.AddGpiAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.class-based-exclusion .four-part-filter-row__selectors {
  width: 25%; }

.class-based-exclusion .four-part-filter-row__filters .tooltip-wrapper {
  margin-top: 5px; }
  .class-based-exclusion .four-part-filter-row__filters .tooltip-wrapper.class-based-exclusion-search {
    min-width: 0px;
    max-width: 500px;
    grid-template-columns: minmax(100px, 500px); }

.class-based-exclusion .bb-list__submit-btn {
  margin-right: 15px; }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 10px; }

.classBasedAddForm {
  background-color: white;
  margin-bottom: 20px; }
  .classBasedAddForm .form-container {
    padding: 15px; }
  .classBasedAddForm .btn-container {
    display: flex; }
    .classBasedAddForm .btn-container button {
      margin-left: 5px; }
  .classBasedAddForm .classbasedExclusion .date-range-picker--dropdown__header input {
    width: 100% !important; }
  .classBasedAddForm .wholesalerForm .date-range-input {
    margin-right: 0px; }

.AddClassBasedAddForm .multi-select-field button {
  width: 80%;
  height: 45px; }

.AddClassBasedAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.patient-block-list .bb-list__submit-btn {
  margin-right: 15px; }

.patient-block-list .four-part-filter-row__selectors {
  width: 25%; }

.addButtonWrapper {
  height: 171px;
  display: flex;
  justify-content: end;
  align-items: end; }
  .addButtonWrapper button {
    margin: 15px 10px; }

.patientBlockAddForm {
  background-color: white;
  margin-bottom: 20px; }
  .patientBlockAddForm .form-container {
    padding: 15px; }
  .patientBlockAddForm .btn-container {
    display: flex; }
    .patientBlockAddForm .btn-container button {
      margin-left: 5px; }
  .patientBlockAddForm .patientblock .date-range-picker--dropdown__header input {
    width: 100% !important; }
  .patientBlockAddForm .wholesalerForm .date-range-input {
    margin-right: 0px; }

.AddPatientBlockAddForm .multi-select-field button {
  width: 80%;
  height: 45px; }

.AddPatientBlockAddForm .loader {
  position: absolute;
  top: -35px;
  left: 0px; }
.cd-groups-container .cd-group-order-change-button-container {
  display: flex;
  justify-content: flex-end;
  margin-top: 15px;
  margin-left: 0px; }

.cd-groups-container .cd-groups-detailed-list-container {
  font-family: 'Proxima Nova';
  font-size: '14px';
  margin-top: '10px'; }

.cd-groups-container .ag-header-cell-label {
  justify-content: center; }

.cd-groups-container .ag-header-cell {
  border-left: solid 1px #7a7a7a;
  text-align: center; }

.cd-groups-container .ag-cell {
  border-left: solid 1px #7a7a7a;
  font-size: 15px !important;
  font-family: 'Proxima Nova' !important; }

.cd-groups-container .ag-pinned-left-header .ag-header-cell.ag-focus-managed:first-child {
  border-left: none !important;
  border-right: none !important; }

.cd-groups-container .ag-cell.ag-cell-not-inline-editing.ag-cell-normal-height.ag-cell-last-left-pinned:first-of-type {
  border-left: none !important;
  border-right: none !important; }

.cd-groups-container .ag-header-cell.multi-line-header.ag-focus-managed[aria-colindex="3"] {
  border-left: none !important; }

.cd-groups-container .ag-header-cell {
  font-size: 16px !important;
  font-family: 'Proxima Nova' !important; }

.cd-groups-container .ag-header-row .ag-header-row-column-group {
  height: 300px; }

.cd-groups-container .ag-icon-grip {
  display: none; }

.cd-groups-container .column-drag {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  cursor: move;
  margin-top: -4px; }

.cd-groups-container .column-drag-icon {
  display: flex;
  justify-content: center; }

.cd-groups-container .custom-value {
  flex-grow: 1;
  text-align: center; }

.cd-groups-container .row-drag {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: move; }

.cd-groups-container .ag-group-value {
  font-weight: 600; }

.cd-groups-container .label-header {
  margin-top: 24px; }

.cd-groups-container .icon-disabled {
  cursor: not-allowed;
  opacity: 0.5; }
.cd-ndc-max-order-limit-modal .modal-dialog {
  width: 50% !important;
  position: relative; }

.cd-ndc-max-order-limit-modal .modal-header {
  display: flex;
  justify-content: center; }
  .cd-ndc-max-order-limit-modal .modal-header .modal-title {
    font-weight: bold; }

.cd-ndc-max-order-limit-modal .ndc-details {
  display: flex;
  font-weight: bold;
  font-size: 20px;
  justify-content: center;
  margin-top: 5px;
  margin-bottom: 15px; }

.cd-ndc-max-order-limit-modal .ReactTable {
  position: relative;
  display: flex;
  flex-direction: column; }

.cd-ndc-max-order-limit-modal .ReactTable .rt-td {
  padding: 12px 5px; }

.cd-ndc-max-order-limit-modal .ndc-order-limit-btn {
  display: flex;
  justify-content: center;
  margin-top: 25px; }

.cd-confirmation-modal {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
  height: 80%;
  top: -2%; }
  .cd-confirmation-modal .modal-content {
    top: -25%; }
  .cd-confirmation-modal .modal-header {
    border: none !important;
    padding: 0px; }
  .cd-confirmation-modal .modal-body {
    padding: 5px 10px 15px 10px !important;
    font-size: 19px; }
    .cd-confirmation-modal .modal-body .modal-body-buttons {
      padding: 10px 5px 5px 5px;
      display: flex;
      justify-content: center; }
      .cd-confirmation-modal .modal-body .modal-body-buttons button {
        height: 43px;
        padding: 2px 25px; }
/** Proxima Nova **/
@font-face {
    font-family: "Proxima Nova";
    src: url(/static/media/Proxima-Nova-Alt-Regular-webfont.e802340f.eot);
    src: url(/static/media/Proxima-Nova-Alt-Regular-webfont.e802340f.eot?#iefix) format('embedded-opentype'),
         url(/static/media/Proxima-Nova-Alt-Regular-webfont.12ccd551.woff) format('woff'),
         url(/static/media/Proxima-Nova-Alt-Regular-webfont.0b420bac.ttf) format('truetype'),
         url(/static/media/Proxima-Nova-Alt-Regular-webfont.b13cdca1.svg#proxima_nova_altregular) format('svg');
    font-weight: normal;
    font-style: normal;

}.react-bs-table .react-bs-container-header .sort-column,td.react-bs-table-expand-cell,th.react-bs-table-expand-cell>div{cursor:pointer}.react-bs-table-container .react-bs-table-search-form{margin-bottom:0}.react-bs-table-bordered{border:1px solid #ddd;border-radius:5px}.react-bs-table table{margin-bottom:0;table-layout:fixed}.react-bs-table table td,.react-bs-table table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.react-bs-table-pagination{margin-top:10px}.react-bs-table-tool-bar{margin-bottom:5px}.react-bs-container-footer,.react-bs-container-header{overflow:hidden;width:100%}.react-bs-container-body{overflow:auto;width:100%}.react-bootstrap-table-page-btns-ul{float:right;margin-top:0}.react-bs-table .table-bordered{border:0;outline:0!important}.react-bs-table .table-bordered>thead>tr>td,.react-bs-table .table-bordered>thead>tr>th{border-bottom-width:2px}.react-bs-table .table-bordered>tbody>tr>td{outline:0!important}.react-bs-table .table-bordered>tbody>tr>td.default-focus-cell{outline:#6495ed solid 3px!important;outline-offset:-1px}.react-bs-table .table-bordered>tfoot>tr>td,.react-bs-table .table-bordered>tfoot>tr>th{border-top-width:2px;border-bottom-width:0}.react-bs-table .table-bordered>tbody>tr>td:first-child,.react-bs-table .table-bordered>tbody>tr>th:first-child,.react-bs-table .table-bordered>tfoot>tr>td:first-child,.react-bs-table .table-bordered>tfoot>tr>th:first-child,.react-bs-table .table-bordered>thead>tr>td:first-child,.react-bs-table .table-bordered>thead>tr>th:first-child{border-left-width:0}.react-bs-table .table-bordered>tbody>tr>td:last-child,.react-bs-table .table-bordered>tbody>tr>th:last-child,.react-bs-table .table-bordered>tfoot>tr>td:last-child,.react-bs-table .table-bordered>tfoot>tr>th:last-child,.react-bs-table .table-bordered>thead>tr>td:last-child,.react-bs-table .table-bordered>thead>tr>th:last-child{border-right-width:0}.react-bs-table .table-bordered>thead>tr:first-child>td,.react-bs-table .table-bordered>thead>tr:first-child>th{border-top-width:0}.react-bs-table .table-bordered>tfoot>tr:last-child>td,.react-bs-table .table-bordered>tfoot>tr:last-child>th{border-bottom-width:0}.react-bs-table .react-bs-container-footer>table>thead>tr>th,.react-bs-table .react-bs-container-header>table>thead>tr>th{vertical-align:middle}.react-bs-table .react-bs-container-footer>table>thead>tr>th .filter,.react-bs-table .react-bs-container-header>table>thead>tr>th .filter{font-weight:400}.react-bs-table .react-bs-container-header>table>thead>tr>th .filter::-webkit-input-placeholder,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-input::-webkit-input-placeholder,.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter option[value=''],.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter.placeholder-selected{color:#d3d3d3;font-style:italic}.react-bs-table .react-bs-container-footer>table>thead>tr>th .filter::-webkit-input-placeholder,.react-bs-table .react-bs-container-footer>table>thead>tr>th .number-filter-input::-webkit-input-placeholder,.react-bs-table .react-bs-container-footer>table>thead>tr>th .select-filter option[value=''],.react-bs-table .react-bs-container-footer>table>thead>tr>th .select-filter.placeholder-selected{color:#d3d3d3;font-style:italic}.react-bs-table .react-bs-container-footer>table>thead>tr>th .select-filter.placeholder-selected option:not([value='']),.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter.placeholder-selected option:not([value='']){color:initial;font-style:initial}.react-bs-table .react-bs-container-footer>table>thead>tr>th .date-filter,.react-bs-table .react-bs-container-footer>table>thead>tr>th .number-filter,.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter{display:flex}.react-bs-table .react-bs-container-footer>table>thead>tr>th .date-filter-input,.react-bs-table .react-bs-container-footer>table>thead>tr>th .number-filter-input,.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter-input,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-input{margin-left:5px;float:left;width:calc(100% - 67px - 5px)}.react-bs-table .react-bs-container-footer>table>thead>tr>th .date-filter-comparator,.react-bs-table .react-bs-container-footer>table>thead>tr>th .number-filter-comparator,.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter-comparator,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-comparator{width:67px;float:left}.react-bs-container .textarea-save-btn{position:absolute;z-index:100;right:0;top:-21px}.react-bs-table-no-data{text-align:center}.ReactModal__Overlay{-webkit-perspective:600;perspective:600;opacity:0;overflow-x:hidden;overflow-y:auto;background-color:rgba(0,0,0,.5);z-index:101}.ReactModal__Overlay--after-open{opacity:1;transition:opacity 150ms ease-out}.ReactModal__Content{-webkit-transform:scale(.5) rotateX(-30deg);transform:scale(.5) rotateX(-30deg)}.ReactModal__Content--after-open{-webkit-transform:scale(1) rotateX(0);transform:scale(1) rotateX(0);transition:all 150ms ease-in}.ReactModal__Overlay--before-close{opacity:0}.ReactModal__Content--before-close{-webkit-transform:scale(.5) rotateX(30deg);transform:scale(.5) rotateX(30deg);transition:all 150ms ease-in}.ReactModal__Content.modal-dialog{border:none;background-color:transparent}.animated{animation-fill-mode:both}.animated.bounceIn,.animated.bounceOut{animation-duration:.75s}.animated.shake{animation-duration:.3s}@keyframes shake{from,to{transform:translate3d(0,0,0)}10%,50%,90%{transform:translate3d(-10px,0,0)}30%,70%{transform:translate3d(10px,0,0)}}.shake{animation-name:shake}@keyframes bounceIn{20%,40%,60%,80%,from,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale3d(1,1,1)}}.bounceIn{animation-name:bounceIn}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{animation-name:bounceOut}.rdrCalendarWrapper {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #ffffff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.rdrDateDisplay{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.rdrDateDisplayItem{
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  width: 0;
  text-align: center;
  color: inherit;
}

.rdrDateDisplayItem + .rdrDateDisplayItem{
    margin-left: 0.833em;
  }

.rdrDateDisplayItem input{
    text-align: inherit
  }

.rdrDateDisplayItem input:disabled {
  cursor: default;
}

.rdrDateDisplayItemActive{}

.rdrMonthAndYearWrapper {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.rdrMonthAndYearPickers{
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.rdrMonthPicker{}

.rdrYearPicker{}

.rdrNextPrevButton {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  cursor: pointer;
  outline: none;
}

.rdrPprevButton {}

.rdrNextButton {}

.rdrMonths{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.rdrMonthsVertical{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.rdrMonthsHorizontal > div > div > div{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.rdrMonth{
  width: 27.667em;
}

.rdrWeekDays{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.rdrWeekDay {
  -ms-flex-preferred-size: calc(100% / 7);
      flex-basis: calc(100% / 7);
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  text-align: center;
}

.rdrDays{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.rdrDateDisplayWrapper{}

.rdrMonthName{}

.rdrInfiniteMonths{
  overflow: auto;
}

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

.rdrDay {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  width: calc(100% / 7);
  position: relative;
  font: inherit;
  cursor: pointer;
}

.rdrDayNumber {
  display: block;
  position: relative;
}

.rdrDayNumber span{
    color: #1d2429;
  }

.rdrDayDisabled {
  cursor: not-allowed;
}

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  pointer-events: none;
}

.rdrInRange{}

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  pointer-events: none;
}

.rdrDayHovered{}

.rdrDayActive{}

.rdrDateRangePickerWrapper{
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.rdrDefinedRangesWrapper{}

.rdrStaticRanges{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.rdrStaticRange{
  font-size: inherit;
}

.rdrStaticRangeLabel{}

.rdrInputRanges{}

.rdrInputRange{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.rdrInputRangeInput{}
.rdrCalendarWrapper{
  color: #000000;
  font-size: 12px;
}

.rdrDateDisplay{
  background-color: rgb(239, 242, 247);
  padding: 0.833em;
}

.rdrDateDisplayItem{
  border-radius: 4px;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);
          box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);
  border: 1px solid transparent;
}

.rdrDateDisplayItem input{
    cursor: pointer;
    height: 2.5em;
    line-height: 2.5em;
    border: 0px;
    background: transparent;
    width: 100%;
    color: #849095;
  }

.rdrDateDisplayItemActive{
  border-color: currentColor;
}

.rdrDateDisplayItemActive input{
    color: #7d888d
  }

.rdrMonthAndYearWrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  padding-top: 10px;
}

.rdrMonthAndYearPickers{
  font-weight: 600;
}

.rdrMonthAndYearPickers select{
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 10px 30px 10px 10px;
    border-radius: 4px;
    outline: 0;
    color: #3e484f;
    background: url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='#0E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;
    background-position: right 8px center;
    cursor: pointer;
    text-align: center
  }

.rdrMonthAndYearPickers select:hover{
  background-color: rgba(0,0,0,0.07);
}

.rdrMonthPicker, .rdrYearPicker{
  margin: 0 5px
}

.rdrNextPrevButton {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 0.833em;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: #EFF2F7
}

.rdrNextPrevButton:hover{
  background: #E1E7F0;
}

.rdrNextPrevButton i {
    display: block;
    width: 0;
    height: 0;
    padding: 0;
    text-align: center;
    border-style: solid;
    margin: auto;
    -webkit-transform: translate(-3px, 0px);
            transform: translate(-3px, 0px);
}

.rdrPprevButton i {
    border-width: 4px 6px 4px 4px;
    border-color: transparent rgb(52, 73, 94) transparent transparent;
    -webkit-transform: translate(-3px, 0px);
            transform: translate(-3px, 0px);
  }

.rdrNextButton i {
    margin: 0 0 0 7px;
    border-width: 4px 4px 4px 6px;
    border-color: transparent transparent transparent rgb(52, 73, 94);
    -webkit-transform: translate(3px, 0px);
            transform: translate(3px, 0px);
  }

.rdrWeekDays {
  padding: 0 0.833em;
}

.rdrMonth{
  padding: 0 0.833em 1.666em 0.833em;
}

.rdrMonth .rdrWeekDays {
    padding: 0;
  }

.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{
  display: none;
}

.rdrWeekDay {
  font-weight: 400;
  line-height: 2.667em;
  color: rgb(132, 144, 149);
}

.rdrDay {
  background: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: 0;
  padding: 0;
  line-height: 3.000em;
  height: 3.000em;
  text-align: center;
  color: #1d2429
}

.rdrDay:focus {
  outline: 0;
}

.rdrDayNumber {
  outline: 0;
  font-weight: 300;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  top: 5px;
  bottom: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.rdrDayToday .rdrDayNumber span{
  font-weight: 500
}

.rdrDayToday .rdrDayNumber span:after{
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: #3d91ff;
}

.rdrDayToday .rdrInRange ~ .rdrDayNumber span:after, .rdrDayToday .rdrStartEdge ~ .rdrDayNumber span:after, .rdrDayToday .rdrEndEdge ~ .rdrDayNumber span:after, .rdrDayToday .rdrSelected ~ .rdrDayNumber span:after{
  background: #fff;
}

.rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span, .rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span, .rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span, .rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{
          color: rgba(255, 255, 255, 0.85);
}

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  background: currentColor;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 5px;
}

.rdrSelected{
  left: 2px;
  right: 2px;
}

.rdrInRange{}

.rdrStartEdge{
  border-top-left-radius: 1.042em;
  border-bottom-left-radius: 1.042em;
  left: 2px;
}

.rdrEndEdge{
  border-top-right-radius: 1.042em;
  border-bottom-right-radius: 1.042em;
  right: 2px;
}

.rdrSelected{
  border-radius: 1.042em;
}

.rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{
    border-top-left-radius: 1.042em;
    border-bottom-left-radius: 1.042em;
    left: 2px;
  }

.rdrDayEndOfMonth .rdrInRange, .rdrDayEndOfMonth .rdrStartEdge, .rdrDayEndOfWeek .rdrInRange, .rdrDayEndOfWeek .rdrStartEdge{
    border-top-right-radius: 1.042em;
    border-bottom-right-radius: 1.042em;
    right: 2px;
  }

.rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{
    border-top-left-radius: 1.333em;
    border-bottom-left-radius: 1.333em;
    border-left-width: 1px;
    left: 0px;
  }

.rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{
   border-top-right-radius: 1.333em;
   border-bottom-right-radius: 1.333em;
   border-right-width: 1px;
   right: 0px;
 }

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  background: rgba(255, 255, 255, 0.09);
  position: absolute;
  top: 3px;
  left: 0px;
  right: 0px;
  bottom: 3px;
  pointer-events: none;
  border: 0px solid currentColor;
  z-index: 1;
}

.rdrDayStartPreview{
  border-top-width: 1px;
  border-left-width: 1px;
  border-bottom-width: 1px;
  border-top-left-radius: 1.333em;
  border-bottom-left-radius: 1.333em;
  left: 0px;
}

.rdrDayInPreview{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.rdrDayEndPreview{
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-top-right-radius: 1.333em;
  border-bottom-right-radius: 1.333em;
  right: 2px;
  right: 0px;
}

.rdrDefinedRangesWrapper{
  font-size: 12px;
  width: 226px;
  border-right: solid 1px #eff2f7;
  background: #fff;
}

.rdrDefinedRangesWrapper .rdrStaticRangeSelected{
    color: currentColor;
    font-weight: 600;
  }

.rdrStaticRange{
  border: 0;
  cursor: pointer;
  display: block;
  outline: 0;
  border-bottom: 1px solid #eff2f7;
  padding: 0;
  background: #fff
}

.rdrStaticRange:hover .rdrStaticRangeLabel, .rdrStaticRange:focus .rdrStaticRangeLabel{
      background: #eff2f7;
}

.rdrStaticRangeLabel{
  display: block;
  outline: 0;
  line-height: 18px;
  padding: 10px 20px;
  text-align: left;
}

.rdrInputRanges{
  padding: 10px 0;
}

.rdrInputRange{
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px 20px;
}

.rdrInputRangeInput{
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 4px;
  text-align: center;
  border: solid 1px rgb(222, 231, 235);
  margin-right: 10px;
  color: rgb(108, 118, 122)
}

.rdrInputRangeInput:focus, .rdrInputRangeInput:hover{
  border-color: rgb(180, 191, 196);
  outline: 0;
  color: #333;
}

.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{
  content: '';
  border: 1px solid currentColor;
  border-radius: 1.333em;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: 0px;
  right: 0px;
  background: transparent;
}

.rdrDayPassive{
  pointer-events: none;
}

.rdrDayPassive .rdrDayNumber span{
    color: #d5dce0;
  }

.rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{
    display: none;
  }

.rdrDayDisabled {
  background-color: rgb(248, 248, 248);
}

.rdrDayDisabled .rdrDayNumber span{
    color: #aeb9bf;
  }

.rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{
    -webkit-filter: grayscale(100%) opacity(60%);
            filter: grayscale(100%) opacity(60%);
  }

.rdrMonthName{
  text-align: left;
  font-weight: 600;
  color: #849095;
  padding: 0.833em;
}
@charset "UTF-8";
@font-face {
  font-family: 'Notification';
  src: url(/static/media/notification.c0d3c94c.eot);
  src: url(/static/media/notification.c0d3c94c.eot?#iefixs3g3t9) format("embedded-opentype"), url(/static/media/notification.651771e1.woff) format("woff"), url(/static/media/notification.0b4ac1dc.ttf) format("truetype"), url(/static/media/notification.5bee74ca.svg#notification) format("svg");
  font-weight: normal;
  font-style: normal;
}

.notification-container {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999999;
  width: 320px;
  padding: 0px 15px;
  max-height: calc(100% - 30px);
  overflow-x: hidden;
  overflow-y: auto;
}

.notification {
  box-sizing: border-box;
  padding: 15px 15px 15px 58px;
  border-radius: 2px;
  color: #fff;
  background-color: #ccc;
  box-shadow: 0 0 12px #999;
  cursor: pointer;
  font-size: 1em;
  line-height: 1.2em;
  position: relative;
  opacity: 0.9;
  margin-top: 15px;
}

.notification .title {
  font-size: 1em;
  line-height: 1.2em;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.notification:hover, .notification:focus {
  opacity: 1;
}

.notification-enter {
  visibility: hidden;
  transform: translate3d(100%, 0, 0);
}

.notification-enter.notification-enter-active {
  visibility: visible;
  transform: translate3d(0, 0, 0);
  transition: all 0.4s;
}

.notification-leave {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.notification-leave.notification-leave-active {
  visibility: hidden;
  transform: translate3d(100%, 0, 0);
  transition: all 0.4s;
}

.notification:before {
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -14px;
  display: block;
  font-family: 'Notification';
  width: 28px;
  height: 28px;
  font-size: 28px;
  text-align: center;
  line-height: 28px;
}

.notification-info {
  background-color: #2f96b4;
}

.notification-info:before {
  content: "";
}

.notification-success {
  background-color: #51a351;
}

.notification-success:before {
  content: "";
}

.notification-warning {
  background-color: #f89406;
}

.notification-warning:before {
  content: "";
}

.notification-error {
  background-color: #bd362f;
}

.notification-error:before {
  content: "";
}
@font-face {
  font-family: 'icomoon';
  src:  url(/static/media/icomoon.d8492614.eot);
  src:  url(/static/media/icomoon.d8492614.eot#iefix) format('embedded-opentype'),
    url(/static/media/icomoon.a3aadb02.ttf) format('truetype'),
    url(/static/media/icomoon.b7c8c904.woff) format('woff'),
    url(/static/media/icomoon.febcfa62.svg#icomoon) format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icomoon-"], [class*=" icomoon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icomoon-money-bag:before {
  content: "\e923";
}
.icomoon-key:before {
  content: "\e924";
  color: #99a0ab;
}
.icomoon-email:before {
  content: "\e925";
  color: #99a0ab;
}
.icomoon-management:before {
  content: "\e920";
}
.icomoon-update:before {
  content: "\e921";
}
.icomoon-analytics:before {
  content: "\e922";
}
.icomoon-dispensation-report:before {
  content: "\e906";
  color: #55606e;
}
.icomoon-purchase-report:before {
  content: "\e909";
  color: #55606e;
}
.icomoon-wac-exposure:before {
  content: "\e910";
  color: #55606e;
}
.icomoon-unmapped:before {
  content: "\e91d";
  color: #55606e;
}
.icomoon-reports:before {
  content: "\e91e";
  color: #55606e;
}
.icomoon-orders:before {
  content: "\e91f";
  color: #55606e;
}
.icomoon-edit:before {
  content: "\e91c";
  color: #35668F;
}
.icomoon-minus:before {
  content: "\e91a";
  color: #99a0ab;
}
.icomoon-plus:before {
  content: "\e91b";
  color: #99a0ab;
}
.icomoon-calendar:before {
  content: "\e919";
  color: #99a0ab;
}
.icomoon-blocked:before {
  content: "\e918";
  color: #de1927;
}
.icomoon-export:before {
  content: "\e917";
  color: #fff;
}
.icomoon-chekmark:before {
  content: "\e916";
  color: #fff;
}
.icomoon-tag:before {
  content: "\e915";
  color: #de1927;
}
.icomoon-search:before {
  content: "\e914";
  color: #99a0ab;
}
.icomoon-insight:before {
  content: "\e904";
  color: #cdcdcd;
}
.icomoon-locations:before {
  content: "\e905";
  color: #cdcdcd;
}
.icomoon-mapping:before {
  content: "\e907";
  color: #cdcdcd;
}
.icomoon-open:before {
  content: "\e908";
  color: #cdcdcd;
}
.icomoon-providers:before {
  content: "\e90a";
  color: #cdcdcd;
}
.icomoon-support:before {
  content: "\e90b";
  color: #cdcdcd;
}
.icomoon-users:before {
  content: "\e90c";
  color: #cdcdcd;
}
.icomoon-accumulation:before {
  content: "\e90d";
  color: #cdcdcd;
}
.icomoon-accumulator:before {
  content: "\e90e";
  color: #cdcdcd;
}
.icomoon-alerts:before {
  content: "\e90f";
  color: #cdcdcd;
}
.icomoon-closed:before {
  content: "\e911";
  color: #cdcdcd;
}
.icomoon-compiliance:before {
  content: "\e912";
  color: #cdcdcd;
}
.icomoon-contactrx:before {
  content: "\e913";
  color: #cdcdcd;
}
.icomoon-logout:before {
  content: "\e900";
  color: #cdcdcd;
}
.icomoon-settings:before {
  content: "\e901";
  color: #cdcdcd;
}
.icomoon-location:before {
  content: "\e902";
  color: #cdcdcd;
}
.icomoon-home:before {
  content: "\e903";
  color: #cdcdcd;
}
@font-face {
  font-family: 'fontello';
  src: url(/static/media/fontello-webfont.32194e02.woff2) format('woff2'),
       url(/static/media/fontello-webfont.c810fb1e.woff) format('woff');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-fontello-"]:before, [class*=" icon-fontello-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  line-height: 1;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-fontello-emo-happy:before { content: '\e804'; }
.icon-fontello-odnoklassniki-rect-1:before { content: '\efff'; }
.icon-fontello-emo-wink2:before { content: '\e806'; }
.icon-fontello-emo-unhappy:before { content: '\e807'; }
.icon-fontello-emo-sleep:before { content: '\e808'; }
.icon-fontello-emo-thumbsup:before { content: '\e809'; }
.icon-fontello-emo-devil:before { content: '\e80a'; }
.icon-fontello-emo-surprised:before { content: '\e80b'; }
.icon-fontello-emo-tongue:before { content: '\e80c'; }
.icon-fontello-emo-coffee:before { content: '\e80d'; }
.icon-fontello-emo-sunglasses:before { content: '\e80e'; }
.icon-fontello-emo-displeased:before { content: '\e80f'; }
.icon-fontello-emo-beer:before { content: '\e810'; }
.icon-fontello-emo-grin:before { content: '\e811'; }
.icon-fontello-emo-angry:before { content: '\e812'; }
.icon-fontello-emo-saint:before { content: '\e813'; }
.icon-fontello-emo-cry:before { content: '\e800'; }
.icon-fontello-emo-shoot:before { content: '\e801'; }
.icon-fontello-emo-squint:before { content: '\e802'; }
.icon-fontello-emo-laugh:before { content: '\e803'; }
.icon-fontello-spin1:before { content: '\e814'; }
.icon-fontello-spin2:before { content: '\e815'; }
.icon-fontello-spin3:before { content: '\e816'; }
.icon-fontello-spin4:before { content: '\e817'; }
.icon-fontello-spin5:before { content: '\e818'; }
.icon-fontello-spin6:before { content: '\e819'; }
.icon-fontello-firefox:before { content: '\e81a'; }
.icon-fontello-chrome:before { content: '\e81b'; }
.icon-fontello-opera:before { content: '\e81c'; }
.icon-fontello-ie:before { content: '\e81d'; }
.icon-fontello-crown:before { content: '\e81e'; }
.icon-fontello-crown-plus:before { content: '\e81f'; }
.icon-fontello-crown-minus:before { content: '\e820'; }
.icon-fontello-marquee:before { content: '\e821'; }
.icon-fontello-glass:before { content: '\e822'; }
.icon-fontello-music-1:before { content: '\e823'; }
.icon-fontello-search-1:before { content: '\e824'; }
.icon-fontello-mail-1:before { content: '\e825'; }
.icon-fontello-mail-alt:before { content: '\e826'; }
.icon-fontello-heart-1:before { content: '\e827'; }
.icon-fontello-heart-empty-1:before { content: '\e828'; }
.icon-fontello-star-1:before { content: '\e829'; }
.icon-fontello-star-empty-1:before { content: '\e82a'; }
.icon-fontello-star-half:before { content: '\e82b'; }
.icon-fontello-star-half-alt:before { content: '\e82c'; }
.icon-fontello-user-1:before { content: '\e82d'; }
.icon-fontello-users-1:before { content: '\e82e'; }
.icon-fontello-male:before { content: '\e82f'; }
.icon-fontello-female:before { content: '\e830'; }
.icon-fontello-video-1:before { content: '\e831'; }
.icon-fontello-videocam:before { content: '\e832'; }
.icon-fontello-picture-1:before { content: '\e833'; }
.icon-fontello-camera-1:before { content: '\e834'; }
.icon-fontello-camera-alt:before { content: '\e835'; }
.icon-fontello-th-large:before { content: '\e836'; }
.icon-fontello-th:before { content: '\e837'; }
.icon-fontello-th-list:before { content: '\e838'; }
.icon-fontello-ok:before { content: '\e839'; }
.icon-fontello-ok-circle:before { content: '\e83a'; }
.icon-fontello-ok-circle2:before { content: '\e83b'; }
.icon-fontello-ok-squared:before { content: '\e83c'; }
.icon-fontello-cancel-1:before { content: '\e83d'; }
.icon-fontello-cancel-circle:before { content: '\e83e'; }
.icon-fontello-cancel-circle2:before { content: '\e83f'; }
.icon-fontello-plus-1:before { content: '\e840'; }
.icon-fontello-plus-circle:before { content: '\e841'; }
.icon-fontello-plus-squared-1:before { content: '\e842'; }
.icon-fontello-plus-squared-alt:before { content: '\e843'; }
.icon-fontello-minus-1:before { content: '\e844'; }
.icon-fontello-minus-circle:before { content: '\e845'; }
.icon-fontello-minus-squared:before { content: '\e846'; }
.icon-fontello-minus-squared-alt:before { content: '\e847'; }
.icon-fontello-help:before { content: '\e848'; }
.icon-fontello-help-circle:before { content: '\e849'; }
.icon-fontello-info-circle:before { content: '\e84a'; }
.icon-fontello-info:before { content: '\e84b'; }
.icon-fontello-home-1:before { content: '\e84c'; }
.icon-fontello-link-1:before { content: '\e84d'; }
.icon-fontello-unlink:before { content: '\e84e'; }
.icon-fontello-link-ext:before { content: '\e84f'; }
.icon-fontello-link-ext-alt:before { content: '\e850'; }
.icon-fontello-attach-1:before { content: '\e851'; }
.icon-fontello-lock-1:before { content: '\e852'; }
.icon-fontello-lock-open-1:before { content: '\e853'; }
.icon-fontello-lock-open-alt:before { content: '\e854'; }
.icon-fontello-pin:before { content: '\e855'; }
.icon-fontello-eye-1:before { content: '\e856'; }
.icon-fontello-eye-off:before { content: '\e857'; }
.icon-fontello-tag-1:before { content: '\e858'; }
.icon-fontello-tags:before { content: '\e859'; }
.icon-fontello-bookmark-1:before { content: '\e85a'; }
.icon-fontello-bookmark-empty:before { content: '\e85b'; }
.icon-fontello-flag-1:before { content: '\e85c'; }
.icon-fontello-flag-empty:before { content: '\e85d'; }
.icon-fontello-flag-checkered:before { content: '\e85e'; }
.icon-fontello-thumbs-up-1:before { content: '\e85f'; }
.icon-fontello-thumbs-down-1:before { content: '\e860'; }
.icon-fontello-thumbs-up-alt:before { content: '\e861'; }
.icon-fontello-thumbs-down-alt:before { content: '\e862'; }
.icon-fontello-download-1:before { content: '\e863'; }
.icon-fontello-upload-1:before { content: '\e864'; }
.icon-fontello-download-cloud:before { content: '\e865'; }
.icon-fontello-upload-cloud-1:before { content: '\e866'; }
.icon-fontello-reply-1:before { content: '\e867'; }
.icon-fontello-reply-all:before { content: '\e868'; }
.icon-fontello-forward-1:before { content: '\e869'; }
.icon-fontello-quote-left:before { content: '\e86a'; }
.icon-fontello-quote-right:before { content: '\e86b'; }
.icon-fontello-code:before { content: '\e86c'; }
.icon-fontello-export-1:before { content: '\e86d'; }
.icon-fontello-export-alt:before { content: '\e86e'; }
.icon-fontello-pencil-1:before { content: '\e86f'; }
.icon-fontello-pencil-squared:before { content: '\e870'; }
.icon-fontello-edit:before { content: '\e871'; }
.icon-fontello-print-1:before { content: '\e872'; }
.icon-fontello-retweet-1:before { content: '\e873'; }
.icon-fontello-keyboard:before { content: '\e874'; }
.icon-fontello-gamepad:before { content: '\e875'; }
.icon-fontello-comment-1:before { content: '\e876'; }
.icon-fontello-chat-1:before { content: '\e877'; }
.icon-fontello-comment-empty:before { content: '\e878'; }
.icon-fontello-chat-empty:before { content: '\e879'; }
.icon-fontello-bell-1:before { content: '\e87a'; }
.icon-fontello-bell-alt:before { content: '\e87b'; }
.icon-fontello-attention-alt:before { content: '\e87c'; /*@noflip*/padding-left: 5px; /*@noflip*/padding-right: 1px; top: 1px; position: relative; }
.icon-fontello-attention-1:before { content: '\e87d'; }
.icon-fontello-attention-circle:before { content: '\e87e'; }
.icon-fontello-location-1:before { content: '\e87f'; }
.icon-fontello-direction:before { content: '\e880'; }
.icon-fontello-compass:before { content: '\e881'; }
.icon-fontello-trash-1:before { content: '\e882'; }
.icon-fontello-doc-1:before { content: '\e883'; }
.icon-fontello-docs-1:before { content: '\e884'; }
.icon-fontello-doc-text:before { content: '\e885'; }
.icon-fontello-doc-inv:before { content: '\e886'; }
.icon-fontello-doc-text-inv:before { content: '\e887'; }
.icon-fontello-folder-1:before { content: '\e888'; }
.icon-fontello-folder-open:before { content: '\e889'; }
.icon-fontello-folder-empty:before { content: '\e88a'; }
.icon-fontello-folder-open-empty:before { content: '\e88b'; }
.icon-fontello-box:before { content: '\e88c'; }
.icon-fontello-rss-1:before { content: '\e88d'; }
.icon-fontello-rss-squared:before { content: '\e88e'; }
.icon-fontello-phone-1:before { content: '\e88f'; }
.icon-fontello-phone-squared:before { content: '\e890'; }
.icon-fontello-menu-1:before { content: '\e891'; }
.icon-fontello-cog-1:before { content: '\e892'; }
.icon-fontello-cog-alt:before { content: '\e893'; }
.icon-fontello-wrench:before { content: '\e894'; }
.icon-fontello-basket-1:before { content: '\e895'; }
.icon-fontello-calendar-1:before { content: '\e896'; }
.icon-fontello-calendar-empty:before { content: '\e897'; }
.icon-fontello-login-1:before { content: '\e898'; }
.icon-fontello-logout-1:before { content: '\e899'; }
.icon-fontello-mic:before { content: '\e89a'; }
.icon-fontello-mute:before { content: '\e89b'; }
.icon-fontello-volume-off:before { content: '\e89c'; }
.icon-fontello-volume-down:before { content: '\e89d'; }
.icon-fontello-volume-up:before { content: '\e89e'; }
.icon-fontello-headphones:before { content: '\e89f'; }
.icon-fontello-clock-1:before { content: '\e8a0'; }
.icon-fontello-lightbulb:before { content: '\e8a1'; }
.icon-fontello-block-1:before { content: '\e8a2'; }
.icon-fontello-resize-full-1:before { content: '\e8a3'; }
.icon-fontello-resize-full-alt:before { content: '\e8a4'; }
.icon-fontello-resize-small-1:before { content: '\e8a5'; }
.icon-fontello-resize-vertical:before { content: '\e8a6'; }
.icon-fontello-resize-horizontal:before { content: '\e8a7'; }
.icon-fontello-move:before { content: '\e8a8'; }
.icon-fontello-zoom-in:before { content: '\e8a9'; }
.icon-fontello-zoom-out:before { content: '\e8aa'; }
.icon-fontello-down-circle2:before { content: '\e8ab'; }
.icon-fontello-up-circle2:before { content: '\e8ac'; }
.icon-fontello-left-circled2:before { content: '\e8ad'; }
.icon-fontello-right-circled2:before { content: '\e8ae'; }
.icon-fontello-down-dir-1:before { content: '\e8af'; }
.icon-fontello-up-dir-1:before { content: '\e8b0'; }
.icon-fontello-left-dir-1:before { content: '\e8b1'; }
.icon-fontello-right-dir-1:before { content: '\e8b2'; }
.icon-fontello-down-open-1:before { content: '\e8b3'; }
.icon-fontello-left-open-1:before { content: '\e8b4'; }
.icon-fontello-right-open-1:before { content: '\e8b5'; }
.icon-fontello-up-open-1:before { content: '\e8b6'; }
.icon-fontello-angle-left:before { content: '\e8b7'; }
.icon-fontello-angle-right:before { content: '\e8b8'; }
.icon-fontello-angle-up:before { content: '\e8b9'; }
.icon-fontello-angle-down:before { content: '\e8ba'; }
.icon-fontello-angle-circled-left:before { content: '\e8bb'; }
.icon-fontello-angle-circled-right:before { content: '\e8bc'; }
.icon-fontello-angle-circled-up:before { content: '\e8bd'; }
.icon-fontello-angle-circled-down:before { content: '\e8be'; }
.icon-fontello-angle-double-left:before { content: '\e8bf'; }
.icon-fontello-angle-double-right:before { content: '\e8c0'; }
.icon-fontello-angle-double-up:before { content: '\e8c1'; }
.icon-fontello-angle-double-down:before { content: '\e8c2'; }
.icon-fontello-down:before { content: '\e8c3'; }
.icon-fontello-right:before { content: '\e8c4'; }
.icon-fontello-left:before { content: '\e8c5'; }
.icon-fontello-up:before { content: '\e8c6'; }
.icon-fontello-down-1:before { content: '\e8c7'; }
.icon-fontello-left-1:before { content: '\e8c8'; }
.icon-fontello-emo-wink:before { content: '\e805'; }
.icon-fontello-up-1:before { content: '\e8ca'; }
.icon-fontello-right-hand:before { content: '\e8cb'; }
.icon-fontello-left-hand:before { content: '\e8cc'; }
.icon-fontello-up-hand:before { content: '\e8cd'; }
.icon-fontello-down-hand:before { content: '\e8ce'; }
.icon-fontello-left-circled-1:before { content: '\e8cf'; }
.icon-fontello-right-circled-1:before { content: '\e8d0'; }
.icon-fontello-up-circled-1:before { content: '\e8d1'; }
.icon-fontello-down-circled-1:before { content: '\e8d2'; }
.icon-fontello-cw-1:before { content: '\e8d3'; }
.icon-fontello-ccw-1:before { content: '\e8d4'; }
.icon-fontello-arrows-cw:before { content: '\e8d5'; }
.icon-fontello-level-up:before { content: '\e8d6'; }
.icon-fontello-level-down:before { content: '\e8d7'; }
.icon-fontello-shuffle-1:before { content: '\e8d8'; }
.icon-fontello-exchange:before { content: '\e8d9'; }
.icon-fontello-collapse:before { content: '\e8da'; }
.icon-fontello-collapse-top:before { content: '\e8db'; }
.icon-fontello-expand:before { content: '\e8dc'; }
.icon-fontello-collapse-left:before { content: '\e8dd'; }
.icon-fontello-play-1:before { content: '\e8de'; }
.icon-fontello-play-circled:before { content: '\e8df'; }
.icon-fontello-play-circle2:before { content: '\e8e0'; }
.icon-fontello-stop-1:before { content: '\e8e1'; }
.icon-fontello-pause-1:before { content: '\e8e2'; }
.icon-fontello-to-end-1:before { content: '\e8e3'; }
.icon-fontello-to-end-alt:before { content: '\e8e4'; }
.icon-fontello-to-start-1:before { content: '\e8e5'; }
.icon-fontello-to-start-alt:before { content: '\e8e6'; }
.icon-fontello-fast-fw:before { content: '\e8e7'; }
.icon-fontello-fast-bw:before { content: '\e8e8'; }
.icon-fontello-eject:before { content: '\e8e9'; }
.icon-fontello-target-1:before { content: '\e8ea'; }
.icon-fontello-signal-1:before { content: '\e8eb'; }
.icon-fontello-award:before { content: '\e8ec'; }
.icon-fontello-desktop:before { content: '\e8ed'; }
.icon-fontello-laptop:before { content: '\e8ee'; }
.icon-fontello-tablet:before { content: '\e8ef'; }
.icon-fontello-mobile-1:before { content: '\e8f0'; }
.icon-fontello-inbox-1:before { content: '\e8f1'; }
.icon-fontello-globe-1:before { content: '\e8f2'; }
.icon-fontello-sun:before { content: '\e8f3'; }
.icon-fontello-cloud-1:before { content: '\e8f4'; }
.icon-fontello-flash-1:before { content: '\e8f5'; }
.icon-fontello-moon:before { content: '\e8f6'; }
.icon-fontello-umbrella:before { content: '\e8f7'; }
.icon-fontello-flight-1:before { content: '\e8f8'; }
.icon-fontello-fighter-jet:before { content: '\e8f9'; }
.icon-fontello-leaf-1:before { content: '\e8fa'; }
.icon-fontello-font:before { content: '\e8fb'; }
.icon-fontello-bold:before { content: '\e8fc'; }
.icon-fontello-italic:before { content: '\e8fd'; }
.icon-fontello-text-height:before { content: '\e8fe'; }
.icon-fontello-text-width:before { content: '\e8ff'; }
.icon-fontello-align-left:before { content: '\e900'; }
.icon-fontello-align-center:before { content: '\e901'; }
.icon-fontello-align-right:before { content: '\e902'; }
.icon-fontello-align-justify:before { content: '\e903'; }
.icon-fontello-list-1:before { content: '\e904'; }
.icon-fontello-indent-left:before { content: '\e905'; }
.icon-fontello-indent-right:before { content: '\e906'; }
.icon-fontello-list-bullet:before { content: '\e907'; }
.icon-fontello-list-numbered:before { content: '\e908'; }
.icon-fontello-strike:before { content: '\e909'; }
.icon-fontello-underline:before { content: '\e90a'; }
.icon-fontello-superscript:before { content: '\e90b'; }
.icon-fontello-subscript:before { content: '\e90c'; }
.icon-fontello-table:before { content: '\e90d'; }
.icon-fontello-columns:before { content: '\e90e'; }
.icon-fontello-crop:before { content: '\e90f'; }
.icon-fontello-scissors:before { content: '\e910'; }
.icon-fontello-paste:before { content: '\e911'; }
.icon-fontello-briefcase-1:before { content: '\e912'; }
.icon-fontello-suitcase-1:before { content: '\e913'; }
.icon-fontello-ellipsis:before { content: '\e914'; }
.icon-fontello-ellipsis-vert:before { content: '\e915'; }
.icon-fontello-off:before { content: '\e916'; }
.icon-fontello-road:before { content: '\e917'; }
.icon-fontello-list-alt:before { content: '\e918'; }
.icon-fontello-qrcode:before { content: '\e919'; }
.icon-fontello-barcode:before { content: '\e91a'; }
.icon-fontello-book-1:before { content: '\e91b'; }
.icon-fontello-ajust:before { content: '\e91c'; }
.icon-fontello-tint:before { content: '\e91d'; }
.icon-fontello-check-1:before { content: '\e91e'; }
.icon-fontello-check-empty:before { content: '\e91f'; }
.icon-fontello-circle:before { content: '\e920'; }
.icon-fontello-circle-empty:before { content: '\e921'; }
.icon-fontello-dot-circled:before { content: '\e922'; }
.icon-fontello-asterisk:before { content: '\e923'; }
.icon-fontello-gift:before { content: '\e924'; }
.icon-fontello-fire:before { content: '\e925'; }
.icon-fontello-magnet-1:before { content: '\e926'; }
.icon-fontello-chart-bar-1:before { content: '\e927'; }
.icon-fontello-ticket:before { content: '\e928'; }
.icon-fontello-credit-card-1:before { content: '\e929'; }
.icon-fontello-floppy-1:before { content: '\e92a'; }
.icon-fontello-megaphone-1:before { content: '\e92b'; }
.icon-fontello-hdd:before { content: '\e92c'; }
.icon-fontello-key-1:before { content: '\e92d'; }
.icon-fontello-fork:before { content: '\e92e'; }
.icon-fontello-rocket:before { content: '\e92f'; }
.icon-fontello-bug:before { content: '\e930'; }
.icon-fontello-certificate:before { content: '\e931'; }
.icon-fontello-tasks:before { content: '\e932'; }
.icon-fontello-filter:before { content: '\e933'; }
.icon-fontello-beaker:before { content: '\e934'; }
.icon-fontello-magic:before { content: '\e935'; }
.icon-fontello-truck:before { content: '\e936'; }
.icon-fontello-money:before { content: '\e937'; }
.icon-fontello-euro:before { content: '\e938'; }
.icon-fontello-pound:before { content: '\e939'; }
.icon-fontello-dollar:before { content: '\e93a'; }
.icon-fontello-rupee:before { content: '\e93b'; }
.icon-fontello-yen:before { content: '\e93c'; }
.icon-fontello-renminbi:before { content: '\e93d'; }
.icon-fontello-try:before { content: '\e93e'; }
.icon-fontello-won:before { content: '\e93f'; }
.icon-fontello-bitcoin:before { content: '\e940'; }
.icon-fontello-sort:before { content: '\e941'; }
.icon-fontello-sort-down:before { content: '\e942'; }
.icon-fontello-sort-up:before { content: '\e943'; }
.icon-fontello-sort-alt-up:before { content: '\e944'; }
.icon-fontello-sort-alt-down:before { content: '\e945'; }
.icon-fontello-sort-name-up:before { content: '\e946'; }
.icon-fontello-sort-name-down:before { content: '\e947'; }
.icon-fontello-sort-number-up:before { content: '\e948'; }
.icon-fontello-sort-number-down:before { content: '\e949'; }
.icon-fontello-hammer:before { content: '\e94a'; }
.icon-fontello-gauge-1:before { content: '\e94b'; }
.icon-fontello-sitemap:before { content: '\e94c'; }
.icon-fontello-spinner:before { content: '\e94d'; }
.icon-fontello-coffee:before { content: '\e94e'; }
.icon-fontello-food:before { content: '\e94f'; }
.icon-fontello-beer:before { content: '\e950'; }
.icon-fontello-user-md:before { content: '\e951'; }
.icon-fontello-stethoscope:before { content: '\e952'; }
.icon-fontello-ambulance:before { content: '\e953'; }
.icon-fontello-medkit:before { content: '\e954'; }
.icon-fontello-h-sigh:before { content: '\e955'; }
.icon-fontello-hospital:before { content: '\e956'; }
.icon-fontello-building:before { content: '\e957'; }
.icon-fontello-smile:before { content: '\e958'; }
.icon-fontello-frown:before { content: '\e959'; }
.icon-fontello-meh:before { content: '\e95a'; }
.icon-fontello-anchor:before { content: '\e95b'; }
.icon-fontello-terminal:before { content: '\e95c'; }
.icon-fontello-eraser:before { content: '\e95d'; }
.icon-fontello-puzzle:before { content: '\e95e'; }
.icon-fontello-shield:before { content: '\e95f'; }
.icon-fontello-extinguisher:before { content: '\e960'; }
.icon-fontello-bullseye:before { content: '\e961'; }
.icon-fontello-wheelchair:before { content: '\e962'; }
.icon-fontello-adn:before { content: '\e963'; }
.icon-fontello-android:before { content: '\e964'; }
.icon-fontello-apple:before { content: '\e965'; }
.icon-fontello-bitbucket:before { content: '\e966'; }
.icon-fontello-bitbucket-squared:before { content: '\e967'; }
.icon-fontello-css3:before { content: '\e968'; }
.icon-fontello-dribbble:before { content: '\e969'; }
.icon-fontello-dropbox:before { content: '\e96a'; }
.icon-fontello-facebook:before { content: '\e96b'; }
.icon-fontello-facebook-squared:before { content: '\e96c'; }
.icon-fontello-flickr:before { content: '\e96d'; }
.icon-fontello-foursquare:before { content: '\e96e'; }
.icon-fontello-github:before { content: '\e96f'; }
.icon-fontello-github-squared:before { content: '\e970'; }
.icon-fontello-github-circled-1:before { content: '\e971'; }
.icon-fontello-gittip:before { content: '\e972'; }
.icon-fontello-gplus-squared:before { content: '\e973'; }
.icon-fontello-gplus:before { content: '\e974'; }
.icon-fontello-html5:before { content: '\e975'; }
.icon-fontello-instagramm:before { content: '\e976'; }
.icon-fontello-linkedin-squared:before { content: '\e977'; }
.icon-fontello-linux:before { content: '\e978'; }
.icon-fontello-linkedin:before { content: '\e979'; }
.icon-fontello-maxcdn:before { content: '\e97a'; }
.icon-fontello-pagelines:before { content: '\e97b'; }
.icon-fontello-pinterest-circled:before { content: '\e97c'; }
.icon-fontello-pinterest-squared:before { content: '\e97d'; }
.icon-fontello-renren:before { content: '\e97e'; }
.icon-fontello-skype:before { content: '\e97f'; }
.icon-fontello-stackexchange:before { content: '\e980'; }
.icon-fontello-stackoverflow:before { content: '\e981'; }
.icon-fontello-trello:before { content: '\e982'; }
.icon-fontello-tumblr:before { content: '\e983'; }
.icon-fontello-tumblr-squared:before { content: '\e984'; }
.icon-fontello-twitter-squared:before { content: '\e985'; }
.icon-fontello-twitter:before { content: '\e986'; }
.icon-fontello-vimeo-squared:before { content: '\e987'; }
.icon-fontello-vkontakte:before { content: '\e988'; }
.icon-fontello-weibo:before { content: '\e989'; }
.icon-fontello-windows:before { content: '\e98a'; }
.icon-fontello-xing:before { content: '\e98b'; }
.icon-fontello-xing-squared:before { content: '\e98c'; }
.icon-fontello-youtube:before { content: '\e98d'; }
.icon-fontello-youtube-squared:before { content: '\e98e'; }
.icon-fontello-youtube-play:before { content: '\e98f'; }
.icon-fontello-blank:before { content: '\e990'; }
.icon-fontello-lemon:before { content: '\e991'; }
.icon-fontello-note:before { content: '\e992'; }
.icon-fontello-note-beamed:before { content: '\e993'; }
.icon-fontello-music:before { content: '\e994'; }
.icon-fontello-search:before { content: '\e995'; }
.icon-fontello-flashlight:before { content: '\e996'; }
.icon-fontello-mail:before { content: '\e997'; }
.icon-fontello-heart:before { content: '\e998'; }
.icon-fontello-heart-empty:before { content: '\e999'; }
.icon-fontello-star:before { content: '\e99a'; }
.icon-fontello-star-empty:before { content: '\e99b'; }
.icon-fontello-user:before { content: '\e99c'; }
.icon-fontello-users:before { content: '\e99d'; }
.icon-fontello-user-add:before { content: '\e99e'; }
.icon-fontello-video:before { content: '\e99f'; }
.icon-fontello-picture:before { content: '\e9a0'; }
.icon-fontello-camera:before { content: '\e9a1'; }
.icon-fontello-layout:before { content: '\e9a2'; }
.icon-fontello-menu:before { content: '\e9a3'; }
.icon-fontello-check:before { content: '\e9a4'; }
.icon-fontello-cancel:before { content: '\e9a5'; }
.icon-fontello-cancel-circled:before { content: '\e9a6'; }
.icon-fontello-cancel-squared:before { content: '\e9a7'; }
.icon-fontello-plus:before { content: '\e9a8'; }
.icon-fontello-plus-circled:before { content: '\e9a9'; }
.icon-fontello-plus-squared:before { content: '\e9aa'; }
.icon-fontello-minus:before { content: '\e9ab'; }
.icon-fontello-minus-circled:before { content: '\e9ac'; }
.icon-fontello-minus-squared-1:before { content: '\e9ad'; }
.icon-fontello-help-1:before { content: '\e9ae'; }
.icon-fontello-help-circled:before { content: '\e9af'; }
.icon-fontello-info-1:before { content: '\e9b0'; }
.icon-fontello-info-circled:before { content: '\e9b1'; }
.icon-fontello-back:before { content: '\e9b2'; }
.icon-fontello-home:before { content: '\e9b3'; }
.icon-fontello-link:before { content: '\e9b4'; }
.icon-fontello-attach:before { content: '\e9b5'; }
.icon-fontello-lock:before { content: '\e9b6'; }
.icon-fontello-lock-open:before { content: '\e9b7'; }
.icon-fontello-eye:before { content: '\e9b8'; }
.icon-fontello-tag:before { content: '\e9b9'; }
.icon-fontello-bookmark:before { content: '\e9ba'; }
.icon-fontello-bookmarks:before { content: '\e9bb'; }
.icon-fontello-flag:before { content: '\e9bc'; }
.icon-fontello-thumbs-up:before { content: '\e9bd'; }
.icon-fontello-thumbs-down:before { content: '\e9be'; }
.icon-fontello-download:before { content: '\e9bf'; }
.icon-fontello-upload:before { content: '\e9c0'; }
.icon-fontello-upload-cloud:before { content: '\e9c1'; }
.icon-fontello-reply:before { content: '\e9c2'; }
.icon-fontello-reply-all-1:before { content: '\e9c3'; }
.icon-fontello-forward:before { content: '\e9c4'; }
.icon-fontello-quote:before { content: '\e9c5'; }
.icon-fontello-code-1:before { content: '\e9c6'; }
.icon-fontello-export:before { content: '\e9c7'; }
.icon-fontello-pencil:before { content: '\e9c8'; }
.icon-fontello-feather:before { content: '\e9c9'; }
.icon-fontello-print:before { content: '\e9ca'; }
.icon-fontello-retweet:before { content: '\e9cb'; }
.icon-fontello-keyboard-1:before { content: '\e9cc'; }
.icon-fontello-comment:before { content: '\e9cd'; }
.icon-fontello-chat:before { content: '\e9ce'; }
.icon-fontello-bell:before { content: '\e9cf'; }
.icon-fontello-attention:before { content: '\e9d0'; }
.icon-fontello-alert:before { content: '\e9d1'; }
.icon-fontello-vcard:before { content: '\e9d2'; }
.icon-fontello-address:before { content: '\e9d3'; }
.icon-fontello-location:before { content: '\e9d4'; }
.icon-fontello-map:before { content: '\e9d5'; }
.icon-fontello-direction-1:before { content: '\e9d6'; }
.icon-fontello-compass-1:before { content: '\e9d7'; }
.icon-fontello-cup:before { content: '\e9d8'; }
.icon-fontello-trash:before { content: '\e9d9'; }
.icon-fontello-doc:before { content: '\e9da'; }
.icon-fontello-docs:before { content: '\e9db'; }
.icon-fontello-doc-landscape:before { content: '\e9dc'; }
.icon-fontello-doc-text-1:before { content: '\e9dd'; }
.icon-fontello-doc-text-inv-1:before { content: '\e9de'; }
.icon-fontello-newspaper:before { content: '\e9df'; }
.icon-fontello-book-open:before { content: '\e9e0'; }
.icon-fontello-book:before { content: '\e9e1'; }
.icon-fontello-folder:before { content: '\e9e2'; }
.icon-fontello-archive:before { content: '\e9e3'; }
.icon-fontello-box-1:before { content: '\e9e4'; }
.icon-fontello-rss:before { content: '\e9e5'; }
.icon-fontello-phone:before { content: '\e9e6'; }
.icon-fontello-cog:before { content: '\e9e7'; }
.icon-fontello-tools:before { content: '\e9e8'; }
.icon-fontello-share:before { content: '\e9e9'; }
.icon-fontello-shareable:before { content: '\e9ea'; }
.icon-fontello-basket:before { content: '\e9eb'; }
.icon-fontello-bag:before { content: '\e9ec'; }
.icon-fontello-calendar:before { content: '\e9ed'; }
.icon-fontello-login:before { content: '\e9ee'; }
.icon-fontello-logout:before { content: '\e9ef'; }
.icon-fontello-mic-1:before { content: '\e9f0'; }
.icon-fontello-mute-1:before { content: '\e9f1'; }
.icon-fontello-sound:before { content: '\e9f2'; }
.icon-fontello-volume:before { content: '\e9f3'; }
.icon-fontello-clock:before { content: '\e9f4'; }
.icon-fontello-hourglass:before { content: '\e9f5'; }
.icon-fontello-lamp:before { content: '\e9f6'; }
.icon-fontello-light-down:before { content: '\e9f7'; }
.icon-fontello-light-up:before { content: '\e9f8'; }
.icon-fontello-adjust:before { content: '\e9f9'; }
.icon-fontello-block:before { content: '\e9fa'; }
.icon-fontello-resize-full:before { content: '\e9fb'; }
.icon-fontello-resize-small:before { content: '\e9fc'; }
.icon-fontello-popup:before { content: '\e9fd'; }
.icon-fontello-publish:before { content: '\e9fe'; }
.icon-fontello-window:before { content: '\e9ff'; }
.icon-fontello-arrow-combo:before { content: '\ea00'; }
.icon-fontello-down-circled:before { content: '\ea01'; }
.icon-fontello-left-circled:before { content: '\ea02'; }
.icon-fontello-right-circled:before { content: '\ea03'; }
.icon-fontello-up-circled:before { content: '\ea04'; }
.icon-fontello-down-open:before { content: '\ea05'; }
.icon-fontello-left-open:before { content: '\ea06'; }
.icon-fontello-right-open:before { content: '\ea07'; }
.icon-fontello-up-open:before { content: '\ea08'; }
.icon-fontello-down-open-mini:before { content: '\ea09'; }
.icon-fontello-left-open-mini:before { content: '\ea0a'; }
.icon-fontello-right-open-mini:before { content: '\ea0b'; }
.icon-fontello-up-open-mini:before { content: '\ea0c'; }
.icon-fontello-down-open-big:before { content: '\ea0d'; }
.icon-fontello-left-open-big:before { content: '\ea0e'; }
.icon-fontello-right-open-big:before { content: '\ea0f'; }
.icon-fontello-up-open-big:before { content: '\ea10'; }
.icon-fontello-down-2:before { content: '\ea11'; }
.icon-fontello-left-2:before { content: '\ea12'; }
.icon-fontello-right-2:before { content: '\ea13'; }
.icon-fontello-up-2:before { content: '\ea14'; }
.icon-fontello-down-dir:before { content: '\ea15'; }
.icon-fontello-left-dir:before { content: '\ea16'; }
.icon-fontello-right-dir:before { content: '\ea17'; }
.icon-fontello-up-dir:before { content: '\ea18'; }
.icon-fontello-down-bold:before { content: '\ea19'; }
.icon-fontello-left-bold:before { content: '\ea1a'; }
.icon-fontello-right-bold:before { content: '\ea1b'; }
.icon-fontello-up-bold:before { content: '\ea1c'; }
.icon-fontello-down-thin:before { content: '\ea1d'; }
.icon-fontello-left-thin:before { content: '\ea1e'; }
.icon-fontello-right-thin:before { content: '\ea1f'; }
.icon-fontello-up-thin:before { content: '\ea20'; }
.icon-fontello-ccw:before { content: '\ea21'; }
.icon-fontello-cw:before { content: '\ea22'; }
.icon-fontello-arrows-ccw:before { content: '\ea23'; }
.icon-fontello-level-down-1:before { content: '\ea24'; }
.icon-fontello-level-up-1:before { content: '\ea25'; }
.icon-fontello-shuffle:before { content: '\ea26'; }
.icon-fontello-loop:before { content: '\ea27'; }
.icon-fontello-switch:before { content: '\ea28'; }
.icon-fontello-play:before { content: '\ea29'; }
.icon-fontello-stop:before { content: '\ea2a'; }
.icon-fontello-pause:before { content: '\ea2b'; }
.icon-fontello-record:before { content: '\ea2c'; }
.icon-fontello-to-end:before { content: '\ea2d'; }
.icon-fontello-to-start:before { content: '\ea2e'; }
.icon-fontello-fast-forward:before { content: '\ea2f'; }
.icon-fontello-fast-backward:before { content: '\ea30'; }
.icon-fontello-progress-0:before { content: '\ea31'; }
.icon-fontello-progress-1:before { content: '\ea32'; }
.icon-fontello-progress-2:before { content: '\ea33'; }
.icon-fontello-progress-3:before { content: '\ea34'; }
.icon-fontello-target:before { content: '\ea35'; }
.icon-fontello-palette:before { content: '\ea36'; }
.icon-fontello-list:before { content: '\ea37'; }
.icon-fontello-list-add:before { content: '\ea38'; }
.icon-fontello-signal:before { content: '\ea39'; }
.icon-fontello-trophy:before { content: '\ea3a'; }
.icon-fontello-battery:before { content: '\ea3b'; }
.icon-fontello-back-in-time:before { content: '\ea3c'; }
.icon-fontello-monitor:before { content: '\ea3d'; }
.icon-fontello-mobile:before { content: '\ea3e'; }
.icon-fontello-network:before { content: '\ea3f'; }
.icon-fontello-cd:before { content: '\ea40'; }
.icon-fontello-inbox:before { content: '\ea41'; }
.icon-fontello-install:before { content: '\ea42'; }
.icon-fontello-globe:before { content: '\ea43'; }
.icon-fontello-cloud:before { content: '\ea44'; }
.icon-fontello-cloud-thunder:before { content: '\ea45'; }
.icon-fontello-flash:before { content: '\ea46'; }
.icon-fontello-moon-1:before { content: '\ea47'; }
.icon-fontello-flight:before { content: '\ea48'; }
.icon-fontello-paper-plane:before { content: '\ea49'; }
.icon-fontello-leaf:before { content: '\ea4a'; }
.icon-fontello-lifebuoy:before { content: '\ea4b'; }
.icon-fontello-mouse:before { content: '\ea4c'; }
.icon-fontello-briefcase:before { content: '\ea4d'; }
.icon-fontello-suitcase:before { content: '\ea4e'; }
.icon-fontello-dot:before { content: '\ea4f'; }
.icon-fontello-dot-2:before { content: '\ea50'; }
.icon-fontello-dot-3:before { content: '\ea51'; }
.icon-fontello-brush:before { content: '\ea52'; }
.icon-fontello-magnet:before { content: '\ea53'; }
.icon-fontello-infinity:before { content: '\ea54'; }
.icon-fontello-erase:before { content: '\ea55'; }
.icon-fontello-chart-pie:before { content: '\ea56'; }
.icon-fontello-chart-line:before { content: '\ea57'; }
.icon-fontello-chart-bar:before { content: '\ea58'; }
.icon-fontello-chart-area:before { content: '\ea59'; }
.icon-fontello-tape:before { content: '\ea5a'; }
.icon-fontello-graduation-cap:before { content: '\ea5b'; }
.icon-fontello-language:before { content: '\ea5c'; }
.icon-fontello-ticket-1:before { content: '\ea5d'; }
.icon-fontello-water:before { content: '\ea5e'; }
.icon-fontello-droplet:before { content: '\ea5f'; }
.icon-fontello-air:before { content: '\ea60'; }
.icon-fontello-credit-card:before { content: '\ea61'; }
.icon-fontello-floppy:before { content: '\ea62'; }
.icon-fontello-clipboard:before { content: '\ea63'; }
.icon-fontello-megaphone:before { content: '\ea64'; }
.icon-fontello-database:before { content: '\ea65'; }
.icon-fontello-drive:before { content: '\ea66'; }
.icon-fontello-bucket:before { content: '\ea67'; }
.icon-fontello-thermometer:before { content: '\ea68'; }
.icon-fontello-key:before { content: '\ea69'; }
.icon-fontello-flow-cascade:before { content: '\ea6a'; }
.icon-fontello-flow-branch:before { content: '\ea6b'; }
.icon-fontello-flow-tree:before { content: '\ea6c'; }
.icon-fontello-flow-line:before { content: '\ea6d'; }
.icon-fontello-flow-parallel:before { content: '\ea6e'; }
.icon-fontello-rocket-1:before { content: '\ea6f'; }
.icon-fontello-gauge:before { content: '\ea70'; }
.icon-fontello-traffic-cone:before { content: '\ea71'; }
.icon-fontello-cc:before { content: '\ea72'; }
.icon-fontello-cc-by:before { content: '\ea73'; }
.icon-fontello-cc-nc:before { content: '\ea74'; }
.icon-fontello-cc-nc-eu:before { content: '\ea75'; }
.icon-fontello-cc-nc-jp:before { content: '\ea76'; }
.icon-fontello-cc-sa:before { content: '\ea77'; }
.icon-fontello-cc-nd:before { content: '\ea78'; }
.icon-fontello-cc-pd:before { content: '\ea79'; }
.icon-fontello-cc-zero:before { content: '\ea7a'; }
.icon-fontello-cc-share:before { content: '\ea7b'; }
.icon-fontello-cc-remix:before { content: '\ea7c'; }
.icon-fontello-github-1:before { content: '\ea7d'; }
.icon-fontello-github-circled:before { content: '\ea7e'; }
.icon-fontello-flickr-1:before { content: '\ea7f'; }
.icon-fontello-flickr-circled:before { content: '\ea80'; }
.icon-fontello-vimeo:before { content: '\ea81'; }
.icon-fontello-vimeo-circled:before { content: '\ea82'; }
.icon-fontello-twitter-1:before { content: '\ea83'; }
.icon-fontello-twitter-circled:before { content: '\ea84'; }
.icon-fontello-facebook-1:before { content: '\ea85'; }
.icon-fontello-facebook-circled:before { content: '\ea86'; }
.icon-fontello-facebook-squared-1:before { content: '\ea87'; }
.icon-fontello-gplus-1:before { content: '\ea88'; }
.icon-fontello-gplus-circled:before { content: '\ea89'; }
.icon-fontello-pinterest:before { content: '\ea8a'; }
.icon-fontello-pinterest-circled-1:before { content: '\ea8b'; }
.icon-fontello-tumblr-1:before { content: '\ea8c'; }
.icon-fontello-tumblr-circled:before { content: '\ea8d'; }
.icon-fontello-linkedin-1:before { content: '\ea8e'; }
.icon-fontello-linkedin-circled:before { content: '\ea8f'; }
.icon-fontello-dribbble-1:before { content: '\ea90'; }
.icon-fontello-dribbble-circled:before { content: '\ea91'; }
.icon-fontello-stumbleupon:before { content: '\ea92'; }
.icon-fontello-stumbleupon-circled:before { content: '\ea93'; }
.icon-fontello-lastfm:before { content: '\ea94'; }
.icon-fontello-lastfm-circled:before { content: '\ea95'; }
.icon-fontello-rdio:before { content: '\ea96'; }
.icon-fontello-rdio-circled:before { content: '\ea97'; }
.icon-fontello-spotify:before { content: '\ea98'; }
.icon-fontello-spotify-circled:before { content: '\ea99'; }
.icon-fontello-qq:before { content: '\ea9a'; }
.icon-fontello-instagram:before { content: '\ea9b'; }
.icon-fontello-dropbox-1:before { content: '\ea9c'; }
.icon-fontello-evernote:before { content: '\ea9d'; }
.icon-fontello-flattr:before { content: '\ea9e'; }
.icon-fontello-skype-1:before { content: '\ea9f'; }
.icon-fontello-skype-circled:before { content: '\eaa0'; }
.icon-fontello-renren-1:before { content: '\eaa1'; }
.icon-fontello-sina-weibo:before { content: '\eaa2'; }
.icon-fontello-paypal:before { content: '\eaa3'; }
.icon-fontello-picasa:before { content: '\eaa4'; }
.icon-fontello-soundcloud:before { content: '\eaa5'; }
.icon-fontello-mixi:before { content: '\eaa6'; }
.icon-fontello-behance:before { content: '\eaa7'; }
.icon-fontello-google-circles:before { content: '\eaa8'; }
.icon-fontello-vkontakte-1:before { content: '\eaa9'; }
.icon-fontello-smashing:before { content: '\eaaa'; }
.icon-fontello-sweden:before { content: '\eaab'; }
.icon-fontello-db-shape:before { content: '\eaac'; }
.icon-fontello-logo-db:before { content: '\eaad'; }
.icon-fontello-music-outline:before { content: '\eaae'; }
.icon-fontello-music-2:before { content: '\eaaf'; }
.icon-fontello-search-outline:before { content: '\eab0'; }
.icon-fontello-search-2:before { content: '\eab1'; }
.icon-fontello-mail-2:before { content: '\eab2'; }
.icon-fontello-heart-2:before { content: '\eab3'; }
.icon-fontello-heart-filled:before { content: '\eab4'; }
.icon-fontello-star-2:before { content: '\eab5'; }
.icon-fontello-star-filled:before { content: '\eab6'; }
.icon-fontello-user-outline:before { content: '\eab7'; }
.icon-fontello-user-2:before { content: '\eab8'; }
.icon-fontello-users-outline:before { content: '\eab9'; }
.icon-fontello-users-2:before { content: '\eaba'; }
.icon-fontello-user-add-outline:before { content: '\eabb'; }
.icon-fontello-user-add-1:before { content: '\eabc'; }
.icon-fontello-user-delete-outline:before { content: '\eabd'; }
.icon-fontello-user-delete:before { content: '\eabe'; }
.icon-fontello-video-2:before { content: '\eabf'; }
.icon-fontello-videocam-outline:before { content: '\eac0'; }
.icon-fontello-videocam-1:before { content: '\eac1'; }
.icon-fontello-picture-outline:before { content: '\eac2'; }
.icon-fontello-picture-2:before { content: '\eac3'; }
.icon-fontello-camera-outline:before { content: '\eac4'; }
.icon-fontello-camera-2:before { content: '\eac5'; }
.icon-fontello-th-outline:before { content: '\eac6'; }
.icon-fontello-th-1:before { content: '\eac7'; }
.icon-fontello-th-large-outline:before { content: '\eac8'; }
.icon-fontello-th-large-1:before { content: '\eac9'; }
.icon-fontello-th-list-outline:before { content: '\eaca'; }
.icon-fontello-th-list-1:before { content: '\eacb'; }
.icon-fontello-ok-outline:before { content: '\eacc'; }
.icon-fontello-ok-1:before { content: '\eacd'; }
.icon-fontello-cancel-outline:before { content: '\eace'; }
.icon-fontello-cancel-2:before { content: '\eacf'; }
.icon-fontello-cancel-alt:before { content: '\ead0'; }
.icon-fontello-cancel-alt-filled:before { content: '\ead1'; }
.icon-fontello-cancel-circled-outline:before { content: '\ead2'; }
.icon-fontello-cancel-circled-1:before { content: '\ead3'; }
.icon-fontello-plus-outline:before { content: '\ead4'; }
.icon-fontello-plus-2:before { content: '\ead5'; }
.icon-fontello-minus-outline:before { content: '\ead6'; }
.icon-fontello-minus-2:before { content: '\ead7'; }
.icon-fontello-divide-outline:before { content: '\ead8'; }
.icon-fontello-divide:before { content: '\ead9'; }
.icon-fontello-eq-outline:before { content: '\eada'; }
.icon-fontello-eq:before { content: '\eadb'; }
.icon-fontello-info-outline:before { content: '\eadc'; }
.icon-fontello-info-2:before { content: '\eadd'; }
.icon-fontello-home-outline:before { content: '\eade'; }
.icon-fontello-home-2:before { content: '\eadf'; }
.icon-fontello-link-outline:before { content: '\eae0'; }
.icon-fontello-link-2:before { content: '\eae1'; }
.icon-fontello-attach-outline:before { content: '\eae2'; }
.icon-fontello-attach-2:before { content: '\eae3'; }
.icon-fontello-lock-2:before { content: '\eae4'; }
.icon-fontello-lock-filled:before { content: '\eae5'; }
.icon-fontello-lock-open-2:before { content: '\eae6'; }
.icon-fontello-lock-open-filled:before { content: '\eae7'; }
.icon-fontello-pin-outline:before { content: '\eae8'; }
.icon-fontello-pin-1:before { content: '\eae9'; }
.icon-fontello-eye-outline:before { content: '\eaea'; }
.icon-fontello-eye-2:before { content: '\eaeb'; }
.icon-fontello-tag-2:before { content: '\eaec'; }
.icon-fontello-tags-1:before { content: '\eaed'; }
.icon-fontello-bookmark-2:before { content: '\eaee'; }
.icon-fontello-flag-2:before { content: '\eaef'; }
.icon-fontello-flag-filled:before { content: '\eaf0'; }
.icon-fontello-thumbs-up-2:before { content: '\eaf1'; }
.icon-fontello-thumbs-down-2:before { content: '\eaf2'; }
.icon-fontello-download-outline:before { content: '\eaf3'; }
.icon-fontello-download-2:before { content: '\eaf4'; }
.icon-fontello-upload-outline:before { content: '\eaf5'; }
.icon-fontello-upload-2:before { content: '\eaf6'; }
.icon-fontello-upload-cloud-outline:before { content: '\eaf7'; }
.icon-fontello-upload-cloud-2:before { content: '\eaf8'; }
.icon-fontello-reply-outline:before { content: '\eaf9'; }
.icon-fontello-reply-2:before { content: '\eafa'; }
.icon-fontello-forward-outline:before { content: '\eafb'; }
.icon-fontello-forward-2:before { content: '\eafc'; }
.icon-fontello-code-outline:before { content: '\eafd'; }
.icon-fontello-code-2:before { content: '\eafe'; }
.icon-fontello-export-outline:before { content: '\eaff'; }
.icon-fontello-export-2:before { content: '\eb00'; }
.icon-fontello-pencil-2:before { content: '\eb01'; }
.icon-fontello-pen:before { content: '\eb02'; }
.icon-fontello-feather-1:before { content: '\eb03'; }
.icon-fontello-edit-1:before { content: '\eb04'; position: relative; top: -1px; /*@noflip*/left: 2px; }
.icon-fontello-print-2:before { content: '\eb05'; }
.icon-fontello-comment-2:before { content: '\eb06'; }
.icon-fontello-chat-2:before { content: '\eb07'; }
.icon-fontello-chat-alt:before { content: '\eb08'; }
.icon-fontello-bell-2:before { content: '\eb09'; }
.icon-fontello-attention-2:before { content: '\eb0a'; }
.icon-fontello-attention-filled:before { content: '\eb0b'; }
.icon-fontello-warning-empty:before { content: '\eb0c'; }
.icon-fontello-warning:before { content: '\eb0d'; }
.icon-fontello-contacts:before { content: '\eb0e'; }
.icon-fontello-vcard-1:before { content: '\eb0f'; }
.icon-fontello-address-1:before { content: '\eb10'; }
.icon-fontello-location-outline:before { content: '\eb11'; }
.icon-fontello-location-2:before { content: '\eb12'; }
.icon-fontello-map-1:before { content: '\eb13'; }
.icon-fontello-direction-outline:before { content: '\eb14'; }
.icon-fontello-direction-2:before { content: '\eb15'; }
.icon-fontello-compass-2:before { content: '\eb16'; }
.icon-fontello-trash-2:before { content: '\eb17'; }
.icon-fontello-doc-2:before { content: '\eb18'; }
.icon-fontello-doc-text-2:before { content: '\eb19'; }
.icon-fontello-doc-add:before { content: '\eb1a'; }
.icon-fontello-doc-remove:before { content: '\eb1b'; }
.icon-fontello-news:before { content: '\eb1c'; }
.icon-fontello-folder-2:before { content: '\eb1d'; }
.icon-fontello-folder-add:before { content: '\eb1e'; }
.icon-fontello-folder-delete:before { content: '\eb1f'; }
.icon-fontello-archive-1:before { content: '\eb20'; }
.icon-fontello-box-2:before { content: '\eb21'; }
.icon-fontello-rss-outline:before { content: '\eb22'; }
.icon-fontello-rss-2:before { content: '\eb23'; }
.icon-fontello-phone-outline:before { content: '\eb24'; }
.icon-fontello-phone-2:before { content: '\eb25'; }
.icon-fontello-menu-outline:before { content: '\eb26'; }
.icon-fontello-menu-2:before { content: '\eb27'; }
.icon-fontello-cog-outline:before { content: '\eb28'; }
.icon-fontello-cog-2:before { content: '\eb29'; }
.icon-fontello-wrench-outline:before { content: '\eb2a'; }
.icon-fontello-wrench-1:before { content: '\eb2b'; }
.icon-fontello-basket-2:before { content: '\eb2c'; }
.icon-fontello-calendar-outlilne:before { content: '\eb2d'; }
.icon-fontello-calendar-2:before { content: '\eb2e'; }
.icon-fontello-mic-outline:before { content: '\eb2f'; }
.icon-fontello-mic-2:before { content: '\eb30'; }
.icon-fontello-volume-off-1:before { content: '\eb31'; }
.icon-fontello-volume-low:before { content: '\eb32'; }
.icon-fontello-volume-middle:before { content: '\eb33'; }
.icon-fontello-volume-high:before { content: '\eb34'; }
.icon-fontello-headphones-1:before { content: '\eb35'; }
.icon-fontello-clock-2:before { content: '\eb36'; }
.icon-fontello-wristwatch:before { content: '\eb37'; }
.icon-fontello-stopwatch:before { content: '\eb38'; }
.icon-fontello-lightbulb-1:before { content: '\eb39'; }
.icon-fontello-block-outline:before { content: '\eb3a'; }
.icon-fontello-block-2:before { content: '\eb3b'; }
.icon-fontello-resize-full-outline:before { content: '\eb3c'; }
.icon-fontello-resize-full-2:before { content: '\eb3d'; }
.icon-fontello-resize-normal-outline:before { content: '\eb3e'; }
.icon-fontello-resize-normal:before { content: '\eb3f'; }
.icon-fontello-move-outline:before { content: '\eb40'; }
.icon-fontello-move-1:before { content: '\eb41'; }
.icon-fontello-popup-1:before { content: '\eb42'; }
.icon-fontello-zoom-in-outline:before { content: '\eb43'; }
.icon-fontello-zoom-in-1:before { content: '\eb44'; }
.icon-fontello-zoom-out-outline:before { content: '\eb45'; }
.icon-fontello-zoom-out-1:before { content: '\eb46'; }
.icon-fontello-popup-2:before { content: '\eb47'; }
.icon-fontello-left-open-outline:before { content: '\eb48'; }
.icon-fontello-left-open-2:before { content: '\eb49'; }
.icon-fontello-right-open-outline:before { content: '\eb4a'; }
.icon-fontello-right-open-2:before { content: '\eb4b'; }
.icon-fontello-down-3:before { content: '\eb4c'; }
.icon-fontello-left-3:before { content: '\eb4d'; }
.icon-fontello-right-3:before { content: '\eb4e'; }
.icon-fontello-up-3:before { content: '\eb4f'; }
.icon-fontello-down-outline:before { content: '\eb50'; }
.icon-fontello-left-outline:before { content: '\eb51'; }
.icon-fontello-right-outline:before { content: '\eb52'; }
.icon-fontello-up-outline:before { content: '\eb53'; }
.icon-fontello-down-small:before { content: '\eb54'; }
.icon-fontello-left-small:before { content: '\eb55'; }
.icon-fontello-right-small:before { content: '\eb56'; }
.icon-fontello-up-small:before { content: '\eb57'; }
.icon-fontello-cw-outline:before { content: '\eb58'; }
.icon-fontello-cw-2:before { content: '\eb59'; }
.icon-fontello-arrows-cw-outline:before { content: '\eb5a'; }
.icon-fontello-arrows-cw-1:before { content: '\eb5b'; }
.icon-fontello-loop-outline:before { content: '\eb5c'; }
.icon-fontello-loop-1:before { content: '\eb5d'; }
.icon-fontello-loop-alt-outline:before { content: '\eb5e'; }
.icon-fontello-loop-alt:before { content: '\eb5f'; }
.icon-fontello-shuffle-2:before { content: '\eb60'; }
.icon-fontello-play-outline:before { content: '\eb61'; }
.icon-fontello-play-2:before { content: '\eb62'; }
.icon-fontello-stop-outline:before { content: '\eb63'; }
.icon-fontello-stop-2:before { content: '\eb64'; }
.icon-fontello-pause-outline:before { content: '\eb65'; }
.icon-fontello-pause-2:before { content: '\eb66'; }
.icon-fontello-fast-fw-outline:before { content: '\eb67'; }
.icon-fontello-fast-fw-1:before { content: '\eb68'; }
.icon-fontello-rewind-outline:before { content: '\eb69'; }
.icon-fontello-rewind:before { content: '\eb6a'; }
.icon-fontello-record-outline:before { content: '\eb6b'; }
.icon-fontello-record-1:before { content: '\eb6c'; }
.icon-fontello-eject-outline:before { content: '\eb6d'; }
.icon-fontello-eject-1:before { content: '\eb6e'; }
.icon-fontello-eject-alt-outline:before { content: '\eb6f'; }
.icon-fontello-eject-alt:before { content: '\eb70'; }
.icon-fontello-bat1:before { content: '\eb71'; }
.icon-fontello-bat2:before { content: '\eb72'; }
.icon-fontello-bat3:before { content: '\eb73'; }
.icon-fontello-bat4:before { content: '\eb74'; }
.icon-fontello-bat-charge:before { content: '\eb75'; }
.icon-fontello-plug:before { content: '\eb76'; }
.icon-fontello-target-outline:before { content: '\eb77'; }
.icon-fontello-target-2:before { content: '\eb78'; }
.icon-fontello-wifi-outline:before { content: '\eb79'; }
.icon-fontello-wifi:before { content: '\eb7a'; }
.icon-fontello-desktop-1:before { content: '\eb7b'; }
.icon-fontello-laptop-1:before { content: '\eb7c'; }
.icon-fontello-tablet-1:before { content: '\eb7d'; }
.icon-fontello-mobile-2:before { content: '\eb7e'; }
.icon-fontello-contrast:before { content: '\eb7f'; }
.icon-fontello-globe-outline:before { content: '\eb80'; }
.icon-fontello-globe-2:before { content: '\eb81'; }
.icon-fontello-globe-alt-outline:before { content: '\eb82'; }
.icon-fontello-globe-alt:before { content: '\eb83'; }
.icon-fontello-sun-1:before { content: '\eb84'; }
.icon-fontello-sun-filled:before { content: '\eb85'; }
.icon-fontello-cloud-2:before { content: '\eb86'; }
.icon-fontello-flash-outline:before { content: '\eb87'; }
.icon-fontello-flash-2:before { content: '\eb88'; }
.icon-fontello-moon-2:before { content: '\eb89'; }
.icon-fontello-waves-outline:before { content: '\eb8a'; }
.icon-fontello-waves:before { content: '\eb8b'; }
.icon-fontello-rain:before { content: '\eb8c'; }
.icon-fontello-cloud-sun:before { content: '\eb8d'; }
.icon-fontello-drizzle:before { content: '\eb8e'; }
.icon-fontello-snow:before { content: '\eb8f'; }
.icon-fontello-cloud-flash:before { content: '\eb90'; }
.icon-fontello-cloud-wind:before { content: '\eb91'; }
.icon-fontello-wind:before { content: '\eb92'; }
.icon-fontello-plane-outline:before { content: '\eb93'; }
.icon-fontello-plane:before { content: '\eb94'; }
.icon-fontello-leaf-2:before { content: '\eb95'; }
.icon-fontello-lifebuoy-1:before { content: '\eb96'; }
.icon-fontello-briefcase-2:before { content: '\eb97'; }
.icon-fontello-brush-1:before { content: '\eb98'; }
.icon-fontello-pipette:before { content: '\eb99'; }
.icon-fontello-power-outline:before { content: '\eb9a'; }
.icon-fontello-power:before { content: '\eb9b'; }
.icon-fontello-check-outline:before { content: '\eb9c'; }
.icon-fontello-check-2:before { content: '\eb9d'; }
.icon-fontello-gift-1:before { content: '\eb9e'; }
.icon-fontello-temperatire:before { content: '\eb9f'; }
.icon-fontello-chart-outline:before { content: '\eba0'; }
.icon-fontello-chart:before { content: '\eba1'; }
.icon-fontello-chart-alt-outline:before { content: '\eba2'; }
.icon-fontello-chart-alt:before { content: '\eba3'; }
.icon-fontello-chart-bar-outline:before { content: '\eba4'; }
.icon-fontello-chart-bar-2:before { content: '\eba5'; }
.icon-fontello-chart-pie-outline:before { content: '\eba6'; }
.icon-fontello-chart-pie-1:before { content: '\eba7'; }
.icon-fontello-ticket-2:before { content: '\eba8'; }
.icon-fontello-credit-card-2:before { content: '\eba9'; }
.icon-fontello-clipboard-1:before { content: '\ebaa'; }
.icon-fontello-database-1:before { content: '\ebab'; }
.icon-fontello-key-outline:before { content: '\ebac'; }
.icon-fontello-key-2:before { content: '\ebad'; }
.icon-fontello-flow-split:before { content: '\ebae'; }
.icon-fontello-flow-merge:before { content: '\ebaf'; }
.icon-fontello-flow-parallel-1:before { content: '\ebb0'; }
.icon-fontello-flow-cross:before { content: '\ebb1'; }
.icon-fontello-certificate-outline:before { content: '\ebb2'; }
.icon-fontello-certificate-1:before { content: '\ebb3'; }
.icon-fontello-scissors-outline:before { content: '\ebb4'; }
.icon-fontello-scissors-1:before { content: '\ebb5'; }
.icon-fontello-flask:before { content: '\ebb6'; }
.icon-fontello-wine:before { content: '\ebb7'; }
.icon-fontello-coffee-1:before { content: '\ebb8'; }
.icon-fontello-beer-1:before { content: '\ebb9'; }
.icon-fontello-anchor-outline:before { content: '\ebba'; }
.icon-fontello-anchor-1:before { content: '\ebbb'; }
.icon-fontello-puzzle-outline:before { content: '\ebbc'; }
.icon-fontello-puzzle-1:before { content: '\ebbd'; }
.icon-fontello-tree:before { content: '\ebbe'; }
.icon-fontello-calculator:before { content: '\ebbf'; }
.icon-fontello-infinity-outline:before { content: '\ebc0'; }
.icon-fontello-infinity-1:before { content: '\ebc1'; }
.icon-fontello-pi-outline:before { content: '\ebc2'; }
.icon-fontello-pi:before { content: '\ebc3'; }
.icon-fontello-at:before { content: '\ebc4'; }
.icon-fontello-at-circled:before { content: '\ebc5'; }
.icon-fontello-looped-square-outline:before { content: '\ebc6'; }
.icon-fontello-looped-square-interest:before { content: '\ebc7'; }
.icon-fontello-sort-alphabet-outline:before { content: '\ebc8'; }
.icon-fontello-sort-alphabet:before { content: '\ebc9'; }
.icon-fontello-sort-numeric-outline:before { content: '\ebca'; }
.icon-fontello-sort-numeric:before { content: '\ebcb'; }
.icon-fontello-dribbble-circled-1:before { content: '\ebcc'; }
.icon-fontello-dribbble-2:before { content: '\ebcd'; }
.icon-fontello-facebook-circled-1:before { content: '\ebce'; }
.icon-fontello-facebook-2:before { content: '\ebcf'; }
.icon-fontello-flickr-circled-1:before { content: '\ebd0'; }
.icon-fontello-flickr-2:before { content: '\ebd1'; }
.icon-fontello-github-circled-2:before { content: '\ebd2'; }
.icon-fontello-github-2:before { content: '\ebd3'; }
.icon-fontello-lastfm-circled-1:before { content: '\ebd4'; }
.icon-fontello-lastfm-1:before { content: '\ebd5'; }
.icon-fontello-linkedin-circled-1:before { content: '\ebd6'; }
.icon-fontello-linkedin-2:before { content: '\ebd7'; }
.icon-fontello-pinterest-circled-2:before { content: '\ebd8'; }
.icon-fontello-pinterest-1:before { content: '\ebd9'; }
.icon-fontello-skype-outline:before { content: '\ebda'; }
.icon-fontello-skype-2:before { content: '\ebdb'; }
.icon-fontello-tumbler-circled:before { content: '\ebdc'; }
.icon-fontello-tumbler:before { content: '\ebdd'; }
.icon-fontello-twitter-circled-1:before { content: '\ebde'; }
.icon-fontello-twitter-2:before { content: '\ebdf'; }
.icon-fontello-vimeo-circled-1:before { content: '\ebe0'; }
.icon-fontello-vimeo-1:before { content: '\ebe1'; }
.icon-fontello-search-3:before { content: '\ebe2'; }
.icon-fontello-mail-3:before { content: '\ebe3'; }
.icon-fontello-heart-3:before { content: '\ebe4'; }
.icon-fontello-heart-empty-2:before { content: '\ebe5'; }
.icon-fontello-star-3:before { content: '\ebe6'; }
.icon-fontello-user-3:before { content: '\ebe7'; }
.icon-fontello-video-3:before { content: '\ebe8'; }
.icon-fontello-picture-3:before { content: '\ebe9'; }
.icon-fontello-camera-3:before { content: '\ebea'; }
.icon-fontello-ok-2:before { content: '\ebeb'; }
.icon-fontello-ok-circle-1:before { content: '\ebec'; }
.icon-fontello-cancel-3:before { content: '\ebed'; }
.icon-fontello-cancel-circle-1:before { content: '\ebee'; }
.icon-fontello-plus-3:before { content: '\ebef'; }
.icon-fontello-plus-circle-1:before { content: '\ebf0'; }
.icon-fontello-minus-3:before { content: '\ebf1'; }
.icon-fontello-minus-circle-1:before { content: '\ebf2'; }
.icon-fontello-help-2:before { content: '\ebf3'; }
.icon-fontello-info-3:before { content: '\ebf4'; }
.icon-fontello-home-3:before { content: '\ebf5'; }
.icon-fontello-link-3:before { content: '\ebf6'; }
.icon-fontello-attach-3:before { content: '\ebf7'; }
.icon-fontello-lock-3:before { content: '\ebf8'; }
.icon-fontello-lock-empty:before { content: '\ebf9'; }
.icon-fontello-lock-open-3:before { content: '\ebfa'; }
.icon-fontello-lock-open-empty:before { content: '\ebfb'; }
.icon-fontello-pin-2:before { content: '\ebfc'; }
.icon-fontello-eye-3:before { content: '\ebfd'; }
.icon-fontello-tag-3:before { content: '\ebfe'; }
.icon-fontello-tag-empty:before { content: '\ebff'; }
.icon-fontello-download-3:before { content: '\ec00'; }
.icon-fontello-upload-3:before { content: '\ec01'; }
.icon-fontello-download-cloud-1:before { content: '\ec02'; }
.icon-fontello-upload-cloud-3:before { content: '\ec03'; }
.icon-fontello-quote-left-1:before { content: '\ec04'; }
.icon-fontello-quote-right-1:before { content: '\ec05'; }
.icon-fontello-quote-left-alt:before { content: '\ec06'; }
.icon-fontello-quote-right-alt:before { content: '\ec07'; }
.icon-fontello-pencil-3:before { content: '\ec08'; }
.icon-fontello-pencil-neg:before { content: '\ec09'; }
.icon-fontello-pencil-alt:before { content: '\ec0a'; }
.icon-fontello-undo:before { content: '\ec0b'; }
.icon-fontello-comment-3:before { content: '\ec0c'; }
.icon-fontello-comment-inv:before { content: '\ec0d'; }
.icon-fontello-comment-alt:before { content: '\ec0e'; }
.icon-fontello-comment-inv-alt:before { content: '\ec0f'; }
.icon-fontello-comment-alt2:before { content: '\ec10'; }
.icon-fontello-comment-inv-alt2:before { content: '\ec11'; }
.icon-fontello-chat-3:before { content: '\ec12'; }
.icon-fontello-chat-inv:before { content: '\ec13'; }
.icon-fontello-location-3:before { content: '\ec14'; }
.icon-fontello-location-inv:before { content: '\ec15'; }
.icon-fontello-location-alt:before { content: '\ec16'; }
.icon-fontello-compass-3:before { content: '\ec17'; }
.icon-fontello-trash-3:before { content: '\ec18'; }
.icon-fontello-trash-empty:before { content: '\ec19'; }
.icon-fontello-doc-3:before { content: '\ec1a'; }
.icon-fontello-doc-inv-1:before { content: '\ec1b'; }
.icon-fontello-doc-alt:before { content: '\ec1c'; }
.icon-fontello-doc-inv-alt:before { content: '\ec1d'; }
.icon-fontello-article:before { content: '\ec1e'; }
.icon-fontello-article-alt:before { content: '\ec1f'; }
.icon-fontello-book-open-1:before { content: '\ec20'; }
.icon-fontello-folder-3:before { content: '\ec21'; }
.icon-fontello-folder-empty-1:before { content: '\ec22'; }
.icon-fontello-box-3:before { content: '\ec23'; }
.icon-fontello-rss-3:before { content: '\ec24'; }
.icon-fontello-rss-alt:before { content: '\ec25'; }
.icon-fontello-cog-3:before { content: '\ec26'; }
.icon-fontello-wrench-2:before { content: '\ec27'; }
.icon-fontello-share-1:before { content: '\ec28'; }
.icon-fontello-calendar-3:before { content: '\ec29'; }
.icon-fontello-calendar-inv:before { content: '\ec2a'; }
.icon-fontello-calendar-alt:before { content: '\ec2b'; }
.icon-fontello-mic-3:before { content: '\ec2c'; }
.icon-fontello-volume-off-2:before { content: '\ec2d'; }
.icon-fontello-volume-up-1:before { content: '\ec2e'; }
.icon-fontello-headphones-2:before { content: '\ec2f'; }
.icon-fontello-clock-3:before { content: '\ec30'; }
.icon-fontello-lamp-1:before { content: '\ec31'; }
.icon-fontello-block-3:before { content: '\ec32'; }
.icon-fontello-resize-full-3:before { content: '\ec33'; }
.icon-fontello-resize-full-alt-1:before { content: '\ec34'; }
.icon-fontello-resize-small-2:before { content: '\ec35'; }
.icon-fontello-resize-small-alt:before { content: '\ec36'; }
.icon-fontello-resize-vertical-1:before { content: '\ec37'; }
.icon-fontello-resize-horizontal-1:before { content: '\ec38'; }
.icon-fontello-move-2:before { content: '\ec39'; }
.icon-fontello-popup-3:before { content: '\ec3a'; }
.icon-fontello-down-4:before { content: '\ec3b'; }
.icon-fontello-left-4:before { content: '\ec3c'; }
.icon-fontello-right-4:before { content: '\ec3d'; }
.icon-fontello-up-4:before { content: '\ec3e'; }
.icon-fontello-down-circle:before { content: '\ec3f'; }
.icon-fontello-left-circle:before { content: '\ec40'; }
.icon-fontello-right-circle:before { content: '\ec41'; }
.icon-fontello-up-circle:before { content: '\ec42'; }
.icon-fontello-cw-3:before { content: '\ec43'; }
.icon-fontello-loop-2:before { content: '\ec44'; }
.icon-fontello-loop-alt-1:before { content: '\ec45'; }
.icon-fontello-exchange-1:before { content: '\ec46'; }
.icon-fontello-split:before { content: '\ec47'; }
.icon-fontello-arrow-curved:before { content: '\ec48'; }
.icon-fontello-play-3:before { content: '\ec49'; }
.icon-fontello-play-circle2-1:before { content: '\ec4a'; }
.icon-fontello-stop-3:before { content: '\ec4b'; }
.icon-fontello-pause-3:before { content: '\ec4c'; }
.icon-fontello-to-start-2:before { content: '\ec4d'; }
.icon-fontello-to-end-2:before { content: '\ec4e'; }
.icon-fontello-eject-2:before { content: '\ec4f'; }
.icon-fontello-target-3:before { content: '\ec50'; }
.icon-fontello-signal-2:before { content: '\ec51'; }
.icon-fontello-award-1:before { content: '\ec52'; }
.icon-fontello-award-empty:before { content: '\ec53'; }
.icon-fontello-list-2:before { content: '\ec54'; }
.icon-fontello-list-nested:before { content: '\ec55'; }
.icon-fontello-bat-empty:before { content: '\ec56'; }
.icon-fontello-bat-half:before { content: '\ec57'; }
.icon-fontello-bat-full:before { content: '\ec58'; }
.icon-fontello-bat-charge-1:before { content: '\ec59'; }
.icon-fontello-mobile-3:before { content: '\ec5a'; }
.icon-fontello-cd-1:before { content: '\ec5b'; }
.icon-fontello-equalizer:before { content: '\ec5c'; }
.icon-fontello-cursor:before { content: '\ec5d'; }
.icon-fontello-aperture:before { content: '\ec5e'; }
.icon-fontello-aperture-alt:before { content: '\ec5f'; }
.icon-fontello-steering-wheel:before { content: '\ec60'; }
.icon-fontello-book-2:before { content: '\ec61'; }
.icon-fontello-book-alt:before { content: '\ec62'; }
.icon-fontello-brush-2:before { content: '\ec63'; }
.icon-fontello-brush-alt:before { content: '\ec64'; }
.icon-fontello-eyedropper:before { content: '\ec65'; }
.icon-fontello-layers:before { content: '\ec66'; }
.icon-fontello-layers-alt:before { content: '\ec67'; }
.icon-fontello-sun-2:before { content: '\ec68'; }
.icon-fontello-sun-inv:before { content: '\ec69'; }
.icon-fontello-cloud-3:before { content: '\ec6a'; }
.icon-fontello-rain-1:before { content: '\ec6b'; }
.icon-fontello-flash-3:before { content: '\ec6c'; }
.icon-fontello-moon-3:before { content: '\ec6d'; }
.icon-fontello-moon-inv:before { content: '\ec6e'; }
.icon-fontello-umbrella-1:before { content: '\ec6f'; }
.icon-fontello-chart-bar-3:before { content: '\ec70'; }
.icon-fontello-chart-pie-2:before { content: '\ec71'; }
.icon-fontello-chart-pie-alt:before { content: '\ec72'; }
.icon-fontello-key-3:before { content: '\ec73'; }
.icon-fontello-key-inv:before { content: '\ec74'; }
.icon-fontello-hash:before { content: '\ec75'; }
.icon-fontello-at-1:before { content: '\ec76'; }
.icon-fontello-pilcrow:before { content: '\ec77'; }
.icon-fontello-dial:before { content: '\ec78'; }
.icon-fontello-search-4:before { content: '\ec79'; }
.icon-fontello-mail-4:before { content: '\ec7a'; }
.icon-fontello-heart-4:before { content: '\ec7b'; }
.icon-fontello-star-4:before { content: '\ec7c'; }
.icon-fontello-user-4:before { content: '\ec7d'; }
.icon-fontello-user-woman:before { content: '\ec7e'; }
.icon-fontello-user-pair:before { content: '\ec7f'; }
.icon-fontello-video-alt:before { content: '\ec80'; }
.icon-fontello-videocam-2:before { content: '\ec81'; }
.icon-fontello-videocam-alt:before { content: '\ec82'; }
.icon-fontello-camera-4:before { content: '\ec83'; }
.icon-fontello-th-2:before { content: '\ec84'; }
.icon-fontello-th-list-2:before { content: '\ec85'; }
.icon-fontello-ok-3:before { content: '\ec86'; }
.icon-fontello-cancel-4:before { content: '\ec87'; }
.icon-fontello-cancel-circle-2:before { content: '\ec88'; }
.icon-fontello-plus-4:before { content: '\ec89'; }
.icon-fontello-home-4:before { content: '\ec8a'; }
.icon-fontello-lock-4:before { content: '\ec8b'; }
.icon-fontello-lock-open-4:before { content: '\ec8c'; }
.icon-fontello-eye-4:before { content: '\ec8d'; }
.icon-fontello-tag-4:before { content: '\ec8e'; }
.icon-fontello-thumbs-up-3:before { content: '\ec8f'; }
.icon-fontello-thumbs-down-3:before { content: '\ec90'; }
.icon-fontello-download-4:before { content: '\ec91'; }
.icon-fontello-export-3:before { content: '\ec92'; }
.icon-fontello-pencil-4:before { content: '\ec93'; }
.icon-fontello-pencil-alt-1:before { content: '\ec94'; }
.icon-fontello-edit-2:before { content: '\ec95'; }
.icon-fontello-chat-4:before { content: '\ec96'; }
.icon-fontello-print-3:before { content: '\ec97'; }
.icon-fontello-bell-3:before { content: '\ec98'; }
.icon-fontello-attention-3:before { content: '\ec99'; }
.icon-fontello-info-4:before { content: '\ec9a'; }
.icon-fontello-question:before { content: '\ec9b'; }
.icon-fontello-location-4:before { content: '\ec9c'; }
.icon-fontello-trash-4:before { content: '\ec9d'; }
.icon-fontello-doc-4:before { content: '\ec9e'; }
.icon-fontello-article-1:before { content: '\ec9f'; }
.icon-fontello-article-alt-1:before { content: '\eca0'; }
.icon-fontello-rss-4:before { content: '\eca1'; }
.icon-fontello-wrench-3:before { content: '\eca2'; }
.icon-fontello-basket-3:before { content: '\eca3'; }
.icon-fontello-basket-alt:before { content: '\eca4'; }
.icon-fontello-calendar-4:before { content: '\eca5'; }
.icon-fontello-calendar-alt-1:before { content: '\eca6'; }
.icon-fontello-volume-off-3:before { content: '\eca7'; }
.icon-fontello-volume-down-1:before { content: '\eca8'; }
.icon-fontello-volume-up-2:before { content: '\eca9'; }
.icon-fontello-bullhorn:before { content: '\ecaa'; }
.icon-fontello-clock-4:before { content: '\ecab'; }
.icon-fontello-clock-alt:before { content: '\ecac'; }
.icon-fontello-stop-4:before { content: '\ecad'; }
.icon-fontello-resize-full-4:before { content: '\ecae'; }
.icon-fontello-resize-small-3:before { content: '\ecaf'; }
.icon-fontello-zoom-in-2:before { content: '\ecb0'; }
.icon-fontello-zoom-out-2:before { content: '\ecb1'; }
.icon-fontello-popup-4:before { content: '\ecb2'; }
.icon-fontello-down-dir-2:before { content: '\ecb3'; }
.icon-fontello-left-dir-2:before { content: '\ecb4'; }
.icon-fontello-right-dir-2:before { content: '\ecb5'; }
.icon-fontello-up-dir-2:before { content: '\ecb6'; }
.icon-fontello-down-5:before { content: '\ecb7'; }
.icon-fontello-up-5:before { content: '\ecb8'; }
.icon-fontello-cw-4:before { content: '\ecb9'; }
.icon-fontello-signal-3:before { content: '\ecba'; }
.icon-fontello-award-2:before { content: '\ecbb'; }
.icon-fontello-mobile-4:before { content: '\ecbc'; }
.icon-fontello-mobile-alt:before { content: '\ecbd'; }
.icon-fontello-tablet-2:before { content: '\ecbe'; }
.icon-fontello-ipod:before { content: '\ecbf'; }
.icon-fontello-cd-2:before { content: '\ecc0'; }
.icon-fontello-grid:before { content: '\ecc1'; }
.icon-fontello-book-3:before { content: '\ecc2'; }
.icon-fontello-easel:before { content: '\ecc3'; }
.icon-fontello-globe-3:before { content: '\ecc4'; }
.icon-fontello-chart-1:before { content: '\ecc5'; }
.icon-fontello-chart-bar-4:before { content: '\ecc6'; }
.icon-fontello-chart-pie-3:before { content: '\ecc7'; }
.icon-fontello-dollar-1:before { content: '\ecc8'; }
.icon-fontello-at-2:before { content: '\ecc9'; }
.icon-fontello-colon:before { content: '\ecca'; }
.icon-fontello-semicolon:before { content: '\eccb'; }
.icon-fontello-squares:before { content: '\eccc'; }
.icon-fontello-money-1:before { content: '\eccd'; }
.icon-fontello-facebook-3:before { content: '\ecce'; }
.icon-fontello-facebook-rect:before { content: '\eccf'; }
.icon-fontello-twitter-3:before { content: '\ecd0'; }
.icon-fontello-twitter-bird:before { content: '\ecd1'; }
.icon-fontello-twitter-rect:before { content: '\ecd2'; }
.icon-fontello-youtube-1:before { content: '\ecd3'; }
.icon-fontello-windy-rain-inv:before { content: '\ecd4'; }
.icon-fontello-snow-inv:before { content: '\ecd5'; }
.icon-fontello-snow-heavy-inv:before { content: '\ecd6'; }
.icon-fontello-hail-inv:before { content: '\ecd7'; }
.icon-fontello-clouds-inv:before { content: '\ecd8'; }
.icon-fontello-clouds-flash-inv:before { content: '\ecd9'; }
.icon-fontello-temperature:before { content: '\ecda'; }
.icon-fontello-compass-4:before { content: '\ecdb'; }
.icon-fontello-na:before { content: '\ecdc'; }
.icon-fontello-celcius:before { content: '\ecdd'; }
.icon-fontello-fahrenheit:before { content: '\ecde'; }
.icon-fontello-clouds-flash-alt:before { content: '\ecdf'; }
.icon-fontello-sun-inv-1:before { content: '\ece0'; }
.icon-fontello-moon-inv-1:before { content: '\ece1'; }
.icon-fontello-cloud-sun-inv:before { content: '\ece2'; }
.icon-fontello-cloud-moon-inv:before { content: '\ece3'; }
.icon-fontello-cloud-inv:before { content: '\ece4'; }
.icon-fontello-cloud-flash-inv:before { content: '\ece5'; }
.icon-fontello-drizzle-inv:before { content: '\ece6'; }
.icon-fontello-rain-inv:before { content: '\ece7'; }
.icon-fontello-windy-inv:before { content: '\ece8'; }
.icon-fontello-sunrise:before { content: '\ece9'; }
.icon-fontello-sun-3:before { content: '\ecea'; }
.icon-fontello-moon-4:before { content: '\eceb'; }
.icon-fontello-eclipse:before { content: '\ecec'; }
.icon-fontello-mist:before { content: '\eced'; }
.icon-fontello-wind-1:before { content: '\ecee'; }
.icon-fontello-snowflake:before { content: '\ecef'; }
.icon-fontello-cloud-sun-1:before { content: '\ecf0'; }
.icon-fontello-cloud-moon:before { content: '\ecf1'; }
.icon-fontello-fog-sun:before { content: '\ecf2'; }
.icon-fontello-fog-moon:before { content: '\ecf3'; }
.icon-fontello-fog-cloud:before { content: '\ecf4'; }
.icon-fontello-fog:before { content: '\ecf5'; }
.icon-fontello-cloud-4:before { content: '\ecf6'; }
.icon-fontello-cloud-flash-1:before { content: '\ecf7'; }
.icon-fontello-cloud-flash-alt:before { content: '\ecf8'; }
.icon-fontello-drizzle-1:before { content: '\ecf9'; }
.icon-fontello-rain-2:before { content: '\ecfa'; }
.icon-fontello-windy:before { content: '\ecfb'; }
.icon-fontello-windy-rain:before { content: '\ecfc'; }
.icon-fontello-snow-1:before { content: '\ecfd'; }
.icon-fontello-snow-alt:before { content: '\ecfe'; }
.icon-fontello-snow-heavy:before { content: '\ecff'; }
.icon-fontello-hail:before { content: '\ed00'; }
.icon-fontello-clouds:before { content: '\ed01'; }
.icon-fontello-clouds-flash:before { content: '\ed02'; }
.icon-fontello-search-5:before { content: '\ed03'; }
.icon-fontello-mail-5:before { content: '\ed04'; }
.icon-fontello-heart-5:before { content: '\ed05'; }
.icon-fontello-heart-broken:before { content: '\ed06'; }
.icon-fontello-star-5:before { content: '\ed07'; }
.icon-fontello-star-empty-2:before { content: '\ed08'; }
.icon-fontello-star-half-1:before { content: '\ed09'; }
.icon-fontello-star-half_empty:before { content: '\ed0a'; }
.icon-fontello-user-5:before { content: '\ed0b'; }
.icon-fontello-user-male:before { content: '\ed0c'; }
.icon-fontello-user-female:before { content: '\ed0d'; }
.icon-fontello-users-3:before { content: '\ed0e'; }
.icon-fontello-movie:before { content: '\ed0f'; }
.icon-fontello-videocam-3:before { content: '\ed10'; }
.icon-fontello-isight:before { content: '\ed11'; }
.icon-fontello-camera-5:before { content: '\ed12'; }
.icon-fontello-menu-3:before { content: '\ed13'; }
.icon-fontello-th-thumb:before { content: '\ed14'; }
.icon-fontello-th-thumb-empty:before { content: '\ed15'; }
.icon-fontello-th-list-3:before { content: '\ed16'; }
.icon-fontello-ok-4:before { content: '\ed17'; }
.icon-fontello-ok-circled:before { content: '\ed18'; }
.icon-fontello-cancel-5:before { content: '\ed19'; }
.icon-fontello-cancel-circled-2:before { content: '\ed1a'; }
.icon-fontello-plus-5:before { content: '\ed1b'; }
.icon-fontello-help-circled-1:before { content: '\ed1c'; }
.icon-fontello-help-circled-alt:before { content: '\ed1d'; }
.icon-fontello-info-circled-1:before { content: '\ed1e'; }
.icon-fontello-info-circled-alt:before { content: '\ed1f'; }
.icon-fontello-home-5:before { content: '\ed20'; }
.icon-fontello-link-4:before { content: '\ed21'; }
.icon-fontello-attach-4:before { content: '\ed22'; }
.icon-fontello-lock-5:before { content: '\ed23'; }
.icon-fontello-lock-alt:before { content: '\ed24'; }
.icon-fontello-lock-open-5:before { content: '\ed25'; }
.icon-fontello-lock-open-alt-1:before { content: '\ed26'; }
.icon-fontello-eye-5:before { content: '\ed27'; }
.icon-fontello-download-5:before { content: '\ed28'; }
.icon-fontello-upload-4:before { content: '\ed29'; }
.icon-fontello-download-cloud-2:before { content: '\ed2a'; }
.icon-fontello-upload-cloud-4:before { content: '\ed2b'; }
.icon-fontello-reply-3:before { content: '\ed2c'; }
.icon-fontello-pencil-5:before { content: '\ed2d'; }
.icon-fontello-export-4:before { content: '\ed2e'; }
.icon-fontello-print-4:before { content: '\ed2f'; }
.icon-fontello-retweet-2:before { content: '\ed30'; }
.icon-fontello-comment-4:before { content: '\ed31'; }
.icon-fontello-chat-5:before { content: '\ed32'; }
.icon-fontello-bell-4:before { content: '\ed33'; }
.icon-fontello-attention-4:before { content: '\ed34'; }
.icon-fontello-attention-alt-1:before { content: '\ed35'; }
.icon-fontello-location-5:before { content: '\ed36'; }
.icon-fontello-trash-5:before { content: '\ed37'; }
.icon-fontello-doc-5:before { content: '\ed38'; }
.icon-fontello-newspaper-1:before { content: '\ed39'; }
.icon-fontello-folder-4:before { content: '\ed3a'; }
.icon-fontello-folder-open-1:before { content: '\ed3b'; }
.icon-fontello-folder-empty-2:before { content: '\ed3c'; }
.icon-fontello-folder-open-empty-1:before { content: '\ed3d'; }
.icon-fontello-cog-4:before { content: '\ed3e'; }
.icon-fontello-calendar-5:before { content: '\ed3f'; }
.icon-fontello-login-2:before { content: '\ed40'; }
.icon-fontello-logout-2:before { content: '\ed41'; }
.icon-fontello-mic-4:before { content: '\ed42'; }
.icon-fontello-mic-off:before { content: '\ed43'; }
.icon-fontello-clock-5:before { content: '\ed44'; }
.icon-fontello-stopwatch-1:before { content: '\ed45'; }
.icon-fontello-hourglass-1:before { content: '\ed46'; }
.icon-fontello-zoom-in-3:before { content: '\ed47'; }
.icon-fontello-zoom-out-3:before { content: '\ed48'; }
.icon-fontello-down-open-2:before { content: '\ed49'; }
.icon-fontello-left-open-3:before { content: '\ed4a'; }
.icon-fontello-right-open-3:before { content: '\ed4b'; }
.icon-fontello-up-open-2:before { content: '\ed4c'; }
.icon-fontello-down-6:before { content: '\ed4d'; }
.icon-fontello-left-5:before { content: '\ed4e'; }
.icon-fontello-right-5:before { content: '\ed4f'; }
.icon-fontello-up-6:before { content: '\ed50'; }
.icon-fontello-down-bold-1:before { content: '\ed51'; }
.icon-fontello-left-bold-1:before { content: '\ed52'; }
.icon-fontello-right-bold-1:before { content: '\ed53'; }
.icon-fontello-up-bold-1:before { content: '\ed54'; }
.icon-fontello-down-fat:before { content: '\ed55'; }
.icon-fontello-left-fat:before { content: '\ed56'; }
.icon-fontello-right-fat:before { content: '\ed57'; }
.icon-fontello-up-fat:before { content: '\ed58'; }
.icon-fontello-ccw-2:before { content: '\ed59'; }
.icon-fontello-shuffle-3:before { content: '\ed5a'; }
.icon-fontello-play-4:before { content: '\ed5b'; }
.icon-fontello-pause-4:before { content: '\ed5c'; }
.icon-fontello-stop-5:before { content: '\ed5d'; }
.icon-fontello-to-end-3:before { content: '\ed5e'; }
.icon-fontello-to-start-3:before { content: '\ed5f'; }
.icon-fontello-fast-forward-1:before { content: '\ed60'; }
.icon-fontello-fast-backward-1:before { content: '\ed61'; }
.icon-fontello-trophy-1:before { content: '\ed62'; }
.icon-fontello-monitor-1:before { content: '\ed63'; }
.icon-fontello-tablet-3:before { content: '\ed64'; }
.icon-fontello-mobile-5:before { content: '\ed65'; }
.icon-fontello-data-science:before { content: '\ed66'; }
.icon-fontello-data-science-inv:before { content: '\ed67'; }
.icon-fontello-inbox-2:before { content: '\ed68'; }
.icon-fontello-globe-4:before { content: '\ed69'; }
.icon-fontello-globe-inv:before { content: '\ed6a'; }
.icon-fontello-flash-4:before { content: '\ed6b'; }
.icon-fontello-cloud-5:before { content: '\ed6c'; }
.icon-fontello-coverflow:before { content: '\ed6d'; }
.icon-fontello-coverflow-empty:before { content: '\ed6e'; }
.icon-fontello-math:before { content: '\ed6f'; }
.icon-fontello-math-circled:before { content: '\ed70'; }
.icon-fontello-math-circled-empty:before { content: '\ed71'; }
.icon-fontello-paper-plane-1:before { content: '\ed72'; }
.icon-fontello-paper-plane-alt:before { content: '\ed73'; }
.icon-fontello-paper-plane-alt2:before { content: '\ed74'; }
.icon-fontello-fontsize:before { content: '\ed75'; }
.icon-fontello-color-adjust:before { content: '\ed76'; }
.icon-fontello-fire-1:before { content: '\ed77'; }
.icon-fontello-chart-bar-5:before { content: '\ed78'; }
.icon-fontello-hdd-1:before { content: '\ed79'; }
.icon-fontello-connected-object:before { content: '\ed7a'; }
.icon-fontello-ruler:before { content: '\ed7b'; }
.icon-fontello-vector:before { content: '\ed7c'; }
.icon-fontello-vector-pencil:before { content: '\ed7d'; }
.icon-fontello-at-3:before { content: '\ed7e'; }
.icon-fontello-hash-1:before { content: '\ed7f'; }
.icon-fontello-female-1:before { content: '\ed80'; }
.icon-fontello-male-1:before { content: '\ed81'; }
.icon-fontello-spread:before { content: '\ed82'; }
.icon-fontello-king:before { content: '\ed83'; }
.icon-fontello-anchor-2:before { content: '\ed84'; }
.icon-fontello-joystick:before { content: '\ed85'; }
.icon-fontello-spinner1:before { content: '\ed86'; }
.icon-fontello-spinner2:before { content: '\ed87'; }
.icon-fontello-github-3:before { content: '\ed88'; }
.icon-fontello-github-circled-3:before { content: '\ed89'; }
.icon-fontello-github-circled-alt:before { content: '\ed8a'; }
.icon-fontello-github-circled-alt2:before { content: '\ed8b'; }
.icon-fontello-twitter-4:before { content: '\ed8c'; }
.icon-fontello-twitter-circled-2:before { content: '\ed8d'; }
.icon-fontello-facebook-4:before { content: '\ed8e'; }
.icon-fontello-facebook-circled-2:before { content: '\ed8f'; }
.icon-fontello-gplus-2:before { content: '\ed90'; }
.icon-fontello-gplus-circled-1:before { content: '\ed91'; }
.icon-fontello-linkedin-3:before { content: '\ed92'; }
.icon-fontello-linkedin-circled-2:before { content: '\ed93'; }
.icon-fontello-dribbble-3:before { content: '\ed94'; }
.icon-fontello-dribbble-circled-2:before { content: '\ed95'; }
.icon-fontello-instagram-1:before { content: '\ed96'; }
.icon-fontello-instagram-circled:before { content: '\ed97'; }
.icon-fontello-soundcloud-1:before { content: '\ed98'; }
.icon-fontello-soundcloud-circled:before { content: '\ed99'; }
.icon-fontello-mfg-logo:before { content: '\ed9a'; }
.icon-fontello-mfg-logo-circled:before { content: '\ed9b'; }
.icon-fontello-aboveground-rail:before { content: '\ed9c'; }
.icon-fontello-airfield:before { content: '\ed9d'; }
.icon-fontello-airport:before { content: '\ed9e'; }
.icon-fontello-art-gallery:before { content: '\ed9f'; }
.icon-fontello-bar:before { content: '\eda0'; }
.icon-fontello-baseball:before { content: '\eda1'; }
.icon-fontello-basketball:before { content: '\eda2'; }
.icon-fontello-beer-2:before { content: '\eda3'; }
.icon-fontello-belowground-rail:before { content: '\eda4'; }
.icon-fontello-bicycle:before { content: '\eda5'; }
.icon-fontello-bus:before { content: '\eda6'; }
.icon-fontello-cafe:before { content: '\eda7'; }
.icon-fontello-campsite:before { content: '\eda8'; }
.icon-fontello-cemetery:before { content: '\eda9'; }
.icon-fontello-cinema:before { content: '\edaa'; }
.icon-fontello-college:before { content: '\edab'; }
.icon-fontello-commerical-building:before { content: '\edac'; }
.icon-fontello-credit-card-3:before { content: '\edad'; }
.icon-fontello-cricket:before { content: '\edae'; }
.icon-fontello-embassy:before { content: '\edaf'; }
.icon-fontello-fast-food:before { content: '\edb0'; }
.icon-fontello-ferry:before { content: '\edb1'; }
.icon-fontello-fire-station:before { content: '\edb2'; }
.icon-fontello-football:before { content: '\edb3'; }
.icon-fontello-fuel:before { content: '\edb4'; }
.icon-fontello-garden:before { content: '\edb5'; }
.icon-fontello-giraffe:before { content: '\edb6'; }
.icon-fontello-golf:before { content: '\edb7'; }
.icon-fontello-grocery-store:before { content: '\edb8'; }
.icon-fontello-harbor:before { content: '\edb9'; }
.icon-fontello-heliport:before { content: '\edba'; }
.icon-fontello-hospital-1:before { content: '\edbb'; }
.icon-fontello-industrial-building:before { content: '\edbc'; }
.icon-fontello-library:before { content: '\edbd'; }
.icon-fontello-lodging:before { content: '\edbe'; }
.icon-fontello-london-underground:before { content: '\edbf'; }
.icon-fontello-minefield:before { content: '\edc0'; }
.icon-fontello-monument:before { content: '\edc1'; }
.icon-fontello-museum:before { content: '\edc2'; }
.icon-fontello-pharmacy:before { content: '\edc3'; }
.icon-fontello-pitch:before { content: '\edc4'; }
.icon-fontello-police:before { content: '\edc5'; }
.icon-fontello-post:before { content: '\edc6'; }
.icon-fontello-prison:before { content: '\edc7'; }
.icon-fontello-rail:before { content: '\edc8'; }
.icon-fontello-religious-christian:before { content: '\edc9'; }
.icon-fontello-religious-islam:before { content: '\edca'; }
.icon-fontello-religious-jewish:before { content: '\edcb'; }
.icon-fontello-restaurant:before { content: '\edcc'; }
.icon-fontello-roadblock:before { content: '\edcd'; }
.icon-fontello-school:before { content: '\edce'; }
.icon-fontello-shop:before { content: '\edcf'; }
.icon-fontello-skiing:before { content: '\edd0'; }
.icon-fontello-soccer:before { content: '\edd1'; }
.icon-fontello-swimming:before { content: '\edd2'; }
.icon-fontello-tennis:before { content: '\edd3'; }
.icon-fontello-theatre:before { content: '\edd4'; }
.icon-fontello-toilet:before { content: '\edd5'; }
.icon-fontello-town-hall:before { content: '\edd6'; }
.icon-fontello-trash-6:before { content: '\edd7'; }
.icon-fontello-tree-1:before { content: '\edd8'; }
.icon-fontello-tree-2:before { content: '\edd9'; }
.icon-fontello-warehouse:before { content: '\edda'; }
.icon-fontello-duckduckgo:before { content: '\eddb'; }
.icon-fontello-aim:before { content: '\eddc'; }
.icon-fontello-delicious:before { content: '\eddd'; }
.icon-fontello-paypal-1:before { content: '\edde'; }
.icon-fontello-flattr-1:before { content: '\eddf'; }
.icon-fontello-android-1:before { content: '\ede0'; }
.icon-fontello-eventful:before { content: '\ede1'; }
.icon-fontello-smashmag:before { content: '\ede2'; }
.icon-fontello-gplus-3:before { content: '\ede3'; }
.icon-fontello-wikipedia:before { content: '\ede4'; }
.icon-fontello-lanyrd:before { content: '\ede5'; }
.icon-fontello-calendar-6:before { content: '\ede6'; }
.icon-fontello-stumbleupon-1:before { content: '\ede7'; }
.icon-fontello-fivehundredpx:before { content: '\ede8'; }
.icon-fontello-pinterest-2:before { content: '\ede9'; }
.icon-fontello-bitcoin-1:before { content: '\edea'; }
.icon-fontello-w3c:before { content: '\edeb'; }
.icon-fontello-foursquare-1:before { content: '\edec'; }
.icon-fontello-html5-1:before { content: '\eded'; }
.icon-fontello-ie-1:before { content: '\edee'; }
.icon-fontello-call:before { content: '\edef'; }
.icon-fontello-grooveshark:before { content: '\edf0'; }
.icon-fontello-ninetyninedesigns:before { content: '\edf1'; }
.icon-fontello-forrst:before { content: '\edf2'; }
.icon-fontello-digg:before { content: '\edf3'; }
.icon-fontello-spotify-1:before { content: '\edf4'; }
.icon-fontello-reddit:before { content: '\edf5'; }
.icon-fontello-guest:before { content: '\edf6'; }
.icon-fontello-gowalla:before { content: '\edf7'; }
.icon-fontello-appstore:before { content: '\edf8'; }
.icon-fontello-blogger:before { content: '\edf9'; }
.icon-fontello-cc-1:before { content: '\edfa'; }
.icon-fontello-dribbble-4:before { content: '\edfb'; }
.icon-fontello-evernote-1:before { content: '\edfc'; }
.icon-fontello-flickr-3:before { content: '\edfd'; }
.icon-fontello-google:before { content: '\edfe'; }
.icon-fontello-viadeo:before { content: '\edff'; }
.icon-fontello-instapaper:before { content: '\ee00'; }
.icon-fontello-weibo-1:before { content: '\ee01'; }
.icon-fontello-klout:before { content: '\ee02'; }
.icon-fontello-linkedin-4:before { content: '\ee03'; }
.icon-fontello-meetup:before { content: '\ee04'; }
.icon-fontello-vk:before { content: '\ee05'; }
.icon-fontello-plancast:before { content: '\ee06'; }
.icon-fontello-disqus:before { content: '\ee07'; }
.icon-fontello-rss-5:before { content: '\ee08'; }
.icon-fontello-skype-3:before { content: '\ee09'; }
.icon-fontello-twitter-5:before { content: '\ee0a'; }
.icon-fontello-youtube-2:before { content: '\ee0b'; }
.icon-fontello-vimeo-2:before { content: '\ee0c'; }
.icon-fontello-windows-1:before { content: '\ee0d'; }
.icon-fontello-xing-1:before { content: '\ee0e'; }
.icon-fontello-yahoo:before { content: '\ee0f'; }
.icon-fontello-chrome-1:before { content: '\ee10'; }
.icon-fontello-email:before { content: '\ee11'; }
.icon-fontello-macstore:before { content: '\ee12'; }
.icon-fontello-myspace:before { content: '\ee13'; }
.icon-fontello-podcast:before { content: '\ee14'; }
.icon-fontello-amazon:before { content: '\ee15'; }
.icon-fontello-steam:before { content: '\ee16'; }
.icon-fontello-cloudapp:before { content: '\ee17'; }
.icon-fontello-dropbox-2:before { content: '\ee18'; }
.icon-fontello-ebay:before { content: '\ee19'; }
.icon-fontello-facebook-5:before { content: '\ee1a'; }
.icon-fontello-github-4:before { content: '\ee1b'; }
.icon-fontello-github-circled-4:before { content: '\ee1c'; }
.icon-fontello-googleplay:before { content: '\ee1d'; }
.icon-fontello-itunes:before { content: '\ee1e'; }
.icon-fontello-plurk:before { content: '\ee1f'; }
.icon-fontello-songkick:before { content: '\ee20'; }
.icon-fontello-lastfm-2:before { content: '\ee21'; }
.icon-fontello-gmail:before { content: '\ee22'; }
.icon-fontello-pinboard:before { content: '\ee23'; }
.icon-fontello-openid:before { content: '\ee24'; }
.icon-fontello-quora:before { content: '\ee25'; }
.icon-fontello-soundcloud-2:before { content: '\ee26'; }
.icon-fontello-tumblr-2:before { content: '\ee27'; }
.icon-fontello-eventasaurus:before { content: '\ee28'; }
.icon-fontello-wordpress:before { content: '\ee29'; }
.icon-fontello-yelp:before { content: '\ee2a'; }
.icon-fontello-intensedebate:before { content: '\ee2b'; }
.icon-fontello-eventbrite:before { content: '\ee2c'; }
.icon-fontello-scribd:before { content: '\ee2d'; }
.icon-fontello-posterous:before { content: '\ee2e'; }
.icon-fontello-stripe:before { content: '\ee2f'; }
.icon-fontello-opentable:before { content: '\ee30'; }
.icon-fontello-cart:before { content: '\ee31'; }
.icon-fontello-print-5:before { content: '\ee32'; }
.icon-fontello-angellist:before { content: '\ee33'; }
.icon-fontello-instagram-2:before { content: '\ee34'; }
.icon-fontello-dwolla:before { content: '\ee35'; }
.icon-fontello-appnet:before { content: '\ee36'; }
.icon-fontello-statusnet:before { content: '\ee37'; }
.icon-fontello-acrobat:before { content: '\ee38'; }
.icon-fontello-drupal:before { content: '\ee39'; }
.icon-fontello-buffer:before { content: '\ee3a'; }
.icon-fontello-pocket:before { content: '\ee3b'; }
.icon-fontello-bitbucket-1:before { content: '\ee3c'; }
.icon-fontello-lego:before { content: '\ee3d'; }
.icon-fontello-login-3:before { content: '\ee3e'; }
.icon-fontello-stackoverflow-1:before { content: '\ee3f'; }
.icon-fontello-hackernews:before { content: '\ee40'; }
.icon-fontello-lkdto:before { content: '\ee41'; }
.icon-fontello-facebook-6:before { content: '\ee42'; }
.icon-fontello-facebook-rect-1:before { content: '\ee43'; }
.icon-fontello-twitter-6:before { content: '\ee44'; }
.icon-fontello-twitter-bird-1:before { content: '\ee45'; }
.icon-fontello-vimeo-3:before { content: '\ee46'; }
.icon-fontello-vimeo-rect:before { content: '\ee47'; }
.icon-fontello-tumblr-3:before { content: '\ee48'; }
.icon-fontello-tumblr-rect:before { content: '\ee49'; }
.icon-fontello-googleplus-rect:before { content: '\ee4a'; }
.icon-fontello-github-text:before { content: '\ee4b'; }
.icon-fontello-github-5:before { content: '\ee4c'; }
.icon-fontello-skype-4:before { content: '\ee4d'; }
.icon-fontello-icq:before { content: '\ee4e'; }
.icon-fontello-yandex:before { content: '\ee4f'; }
.icon-fontello-yandex-rect:before { content: '\ee50'; }
.icon-fontello-vkontakte-rect:before { content: '\ee51'; }
.icon-fontello-odnoklassniki:before { content: '\ee52'; }
.icon-fontello-odnoklassniki-rect:before { content: '\ee53'; }
.icon-fontello-friendfeed:before { content: '\ee54'; }
.icon-fontello-friendfeed-rect:before { content: '\ee55'; }
.icon-fontello-blogger-1:before { content: '\ee56'; }
.icon-fontello-blogger-rect:before { content: '\ee57'; }
.icon-fontello-deviantart:before { content: '\ee58'; }
.icon-fontello-jabber:before { content: '\ee59'; }
.icon-fontello-lastfm-3:before { content: '\ee5a'; }
.icon-fontello-lastfm-rect:before { content: '\ee5b'; }
.icon-fontello-linkedin-5:before { content: '\ee5c'; }
.icon-fontello-linkedin-rect:before { content: '\ee5d'; }
.icon-fontello-picasa-1:before { content: '\ee5e'; }
.icon-fontello-wordpress-1:before { content: '\ee5f'; }
.icon-fontello-instagram-3:before { content: '\ee60'; }
.icon-fontello-instagram-filled:before { content: '\ee61'; }
.icon-fontello-diigo:before { content: '\ee62'; }
.icon-fontello-box-4:before { content: '\ee63'; }
.icon-fontello-box-rect:before { content: '\ee64'; }
.icon-fontello-tudou:before { content: '\ee65'; }
.icon-fontello-youku:before { content: '\ee66'; }
.icon-fontello-win8:before { content: '\ee67'; }
.icon-fontello-amex:before { content: '\ee68'; }
.icon-fontello-discover:before { content: '\ee69'; }
.icon-fontello-visa:before { content: '\ee6a'; }
.icon-fontello-mastercard:before { content: '\ee6b'; }
.icon-fontello-glass-1:before { content: '\ee6c'; }
.icon-fontello-music-3:before { content: '\ee6d'; }
.icon-fontello-search-6:before { content: '\ee6e'; }
.icon-fontello-search-circled:before { content: '\ee6f'; }
.icon-fontello-mail-6:before { content: '\ee70'; }
.icon-fontello-mail-circled:before { content: '\ee71'; }
.icon-fontello-heart-6:before { content: '\ee72'; }
.icon-fontello-heart-circled:before { content: '\ee73'; }
.icon-fontello-heart-empty-3:before { content: '\ee74'; }
.icon-fontello-star-6:before { content: '\ee75'; }
.icon-fontello-star-circled:before { content: '\ee76'; }
.icon-fontello-star-empty-3:before { content: '\ee77'; }
.icon-fontello-user-6:before { content: '\ee78'; }
.icon-fontello-group:before { content: '\ee79'; }
.icon-fontello-group-circled:before { content: '\ee7a'; }
.icon-fontello-torso:before { content: '\ee7b'; }
.icon-fontello-video-4:before { content: '\ee7c'; }
.icon-fontello-video-circled:before { content: '\ee7d'; }
.icon-fontello-video-alt-1:before { content: '\ee7e'; }
.icon-fontello-videocam-4:before { content: '\ee7f'; }
.icon-fontello-video-chat:before { content: '\ee80'; }
.icon-fontello-picture-4:before { content: '\ee81'; }
.icon-fontello-camera-6:before { content: '\ee82'; }
.icon-fontello-photo:before { content: '\ee83'; }
.icon-fontello-photo-circled:before { content: '\ee84'; }
.icon-fontello-th-large-2:before { content: '\ee85'; }
.icon-fontello-th-3:before { content: '\ee86'; }
.icon-fontello-th-list-4:before { content: '\ee87'; }
.icon-fontello-view-mode:before { content: '\ee88'; }
.icon-fontello-ok-5:before { content: '\ee89'; }
.icon-fontello-ok-circled-1:before { content: '\ee8a'; }
.icon-fontello-ok-circled2:before { content: '\ee8b'; }
.icon-fontello-cancel-6:before { content: '\ee8c'; }
.icon-fontello-cancel-circled-3:before { content: '\ee8d'; }
.icon-fontello-cancel-circled2:before { content: '\ee8e'; }
.icon-fontello-plus-6:before { content: '\ee8f'; }
.icon-fontello-plus-circled-1:before { content: '\ee90'; }
.icon-fontello-minus-4:before { content: '\ee91'; }
.icon-fontello-minus-circled-1:before { content: '\ee92'; }
.icon-fontello-help-3:before { content: '\ee93'; }
.icon-fontello-help-circled-2:before { content: '\ee94'; }
.icon-fontello-info-circled-2:before { content: '\ee95'; }
.icon-fontello-home-6:before { content: '\ee96'; }
.icon-fontello-home-circled:before { content: '\ee97'; }
.icon-fontello-website:before { content: '\ee98'; }
.icon-fontello-website-circled:before { content: '\ee99'; }
.icon-fontello-attach-5:before { content: '\ee9a'; }
.icon-fontello-attach-circled:before { content: '\ee9b'; }
.icon-fontello-lock-6:before { content: '\ee9c'; }
.icon-fontello-lock-circled:before { content: '\ee9d'; }
.icon-fontello-lock-open-6:before { content: '\ee9e'; }
.icon-fontello-lock-open-alt-2:before { content: '\ee9f'; }
.icon-fontello-eye-6:before { content: '\eea0'; }
.icon-fontello-eye-off-1:before { content: '\eea1'; }
.icon-fontello-tag-5:before { content: '\eea2'; }
.icon-fontello-tags-2:before { content: '\eea3'; }
.icon-fontello-bookmark-3:before { content: '\eea4'; }
.icon-fontello-bookmark-empty-1:before { content: '\eea5'; }
.icon-fontello-flag-3:before { content: '\eea6'; }
.icon-fontello-flag-circled:before { content: '\eea7'; }
.icon-fontello-thumbs-up-4:before { content: '\eea8'; }
.icon-fontello-thumbs-down-4:before { content: '\eea9'; }
.icon-fontello-download-6:before { content: '\eeaa'; }
.icon-fontello-download-alt:before { content: '\eeab'; }
.icon-fontello-upload-5:before { content: '\eeac'; }
.icon-fontello-share-2:before { content: '\eead'; }
.icon-fontello-quote-1:before { content: '\eeae'; }
.icon-fontello-quote-circled:before { content: '\eeaf'; }
.icon-fontello-export-5:before { content: '\eeb0'; }
.icon-fontello-pencil-6:before { content: '\eeb1'; }
.icon-fontello-pencil-circled:before { content: '\eeb2'; }
.icon-fontello-edit-3:before { content: '\eeb3'; }
.icon-fontello-edit-circled:before { content: '\eeb4'; }
.icon-fontello-edit-alt:before { content: '\eeb5'; }
.icon-fontello-print-6:before { content: '\eeb6'; }
.icon-fontello-retweet-3:before { content: '\eeb7'; }
.icon-fontello-comment-5:before { content: '\eeb8'; }
.icon-fontello-comment-alt-1:before { content: '\eeb9'; }
.icon-fontello-bell-5:before { content: '\eeba'; }
.icon-fontello-warning-1:before { content: '\eebb'; }
.icon-fontello-exclamation:before { content: '\eebc'; }
.icon-fontello-error:before { content: '\eebd'; }
.icon-fontello-error-alt:before { content: '\eebe'; }
.icon-fontello-location-6:before { content: '\eebf'; }
.icon-fontello-location-circled:before { content: '\eec0'; }
.icon-fontello-compass-5:before { content: '\eec1'; }
.icon-fontello-compass-circled:before { content: '\eec2'; }
.icon-fontello-trash-7:before { content: '\eec3'; }
.icon-fontello-trash-circled:before { content: '\eec4'; }
.icon-fontello-doc-6:before { content: '\eec5'; }
.icon-fontello-doc-circled:before { content: '\eec6'; }
.icon-fontello-doc-new:before { content: '\eec7'; }
.icon-fontello-doc-new-circled:before { content: '\eec8'; }
.icon-fontello-folder-5:before { content: '\eec9'; }
.icon-fontello-folder-circled:before { content: '\eeca'; }
.icon-fontello-folder-close:before { content: '\eecb'; }
.icon-fontello-folder-open-2:before { content: '\eecc'; }
.icon-fontello-rss-6:before { content: '\eecd'; }
.icon-fontello-phone-3:before { content: '\eece'; }
.icon-fontello-phone-circled:before { content: '\eecf'; }
.icon-fontello-cog-5:before { content: '\eed0'; }
.icon-fontello-cog-circled:before { content: '\eed1'; }
.icon-fontello-cogs:before { content: '\eed2'; }
.icon-fontello-wrench-4:before { content: '\eed3'; }
.icon-fontello-wrench-circled:before { content: '\eed4'; }
.icon-fontello-basket-4:before { content: '\eed5'; }
.icon-fontello-basket-circled:before { content: '\eed6'; }
.icon-fontello-calendar-7:before { content: '\eed7'; }
.icon-fontello-calendar-circled:before { content: '\eed8'; }
.icon-fontello-mic-5:before { content: '\eed9'; }
.icon-fontello-mic-circled:before { content: '\eeda'; }
.icon-fontello-volume-off-4:before { content: '\eedb'; }
.icon-fontello-volume-down-2:before { content: '\eedc'; }
.icon-fontello-volume-1:before { content: '\eedd'; }
.icon-fontello-volume-up-3:before { content: '\eede'; }
.icon-fontello-headphones-3:before { content: '\eedf'; }
.icon-fontello-clock-6:before { content: '\eee0'; }
.icon-fontello-clock-circled:before { content: '\eee1'; }
.icon-fontello-lightbulb-2:before { content: '\eee2'; }
.icon-fontello-lightbulb-alt:before { content: '\eee3'; }
.icon-fontello-block-4:before { content: '\eee4'; }
.icon-fontello-resize-full-5:before { content: '\eee5'; }
.icon-fontello-resize-full-alt-2:before { content: '\eee6'; }
.icon-fontello-resize-small-4:before { content: '\eee7'; }
.icon-fontello-resize-vertical-2:before { content: '\eee8'; }
.icon-fontello-resize-horizontal-2:before { content: '\eee9'; }
.icon-fontello-move-3:before { content: '\eeea'; }
.icon-fontello-zoom-in-4:before { content: '\eeeb'; }
.icon-fontello-zoom-out-4:before { content: '\eeec'; }
.icon-fontello-down-open-3:before { content: '\eeed'; }
.icon-fontello-left-open-4:before { content: '\eeee'; }
.icon-fontello-right-open-4:before { content: '\eeef'; }
.icon-fontello-up-open-3:before { content: '\eef0'; }
.icon-fontello-down-7:before { content: '\eef1'; }
.icon-fontello-left-6:before { content: '\eef2'; }
.icon-fontello-right-6:before { content: '\eef3'; }
.icon-fontello-up-7:before { content: '\eef4'; }
.icon-fontello-down-circled-2:before { content: '\eef5'; }
.icon-fontello-left-circled-2:before { content: '\eef6'; }
.icon-fontello-right-circled-2:before { content: '\eef7'; }
.icon-fontello-up-circled-2:before { content: '\eef8'; }
.icon-fontello-down-hand-1:before { content: '\eef9'; }
.icon-fontello-left-hand-1:before { content: '\eefa'; }
.icon-fontello-right-hand-1:before { content: '\eefb'; }
.icon-fontello-up-hand-1:before { content: '\eefc'; }
.icon-fontello-cw-5:before { content: '\eefd'; }
.icon-fontello-cw-circled:before { content: '\eefe'; }
.icon-fontello-arrows-cw-2:before { content: '\eeff'; }
.icon-fontello-shuffle-4:before { content: '\ef00'; }
.icon-fontello-play-5:before { content: '\ef01'; }
.icon-fontello-play-circled-1:before { content: '\ef02'; }
.icon-fontello-play-circled2:before { content: '\ef03'; }
.icon-fontello-stop-6:before { content: '\ef04'; }
.icon-fontello-stop-circled:before { content: '\ef05'; }
.icon-fontello-pause-5:before { content: '\ef06'; }
.icon-fontello-pause-circled:before { content: '\ef07'; }
.icon-fontello-record-2:before { content: '\ef08'; }
.icon-fontello-eject-3:before { content: '\ef09'; }
.icon-fontello-backward:before { content: '\ef0a'; }
.icon-fontello-backward-circled:before { content: '\ef0b'; }
.icon-fontello-fast-backward-2:before { content: '\ef0c'; }
.icon-fontello-fast-forward-2:before { content: '\ef0d'; }
.icon-fontello-forward-3:before { content: '\ef0e'; }
.icon-fontello-forward-circled:before { content: '\ef0f'; }
.icon-fontello-step-backward:before { content: '\ef10'; }
.icon-fontello-step-forward:before { content: '\ef11'; }
.icon-fontello-target-4:before { content: '\ef12'; }
.icon-fontello-signal-4:before { content: '\ef13'; }
.icon-fontello-desktop-2:before { content: '\ef14'; }
.icon-fontello-desktop-circled:before { content: '\ef15'; }
.icon-fontello-laptop-2:before { content: '\ef16'; }
.icon-fontello-laptop-circled:before { content: '\ef17'; }
.icon-fontello-network-1:before { content: '\ef18'; }
.icon-fontello-inbox-3:before { content: '\ef19'; }
.icon-fontello-inbox-circled:before { content: '\ef1a'; }
.icon-fontello-inbox-alt:before { content: '\ef1b'; }
.icon-fontello-globe-5:before { content: '\ef1c'; }
.icon-fontello-globe-alt-1:before { content: '\ef1d'; }
.icon-fontello-cloud-6:before { content: '\ef1e'; }
.icon-fontello-cloud-circled:before { content: '\ef1f'; }
.icon-fontello-flight-2:before { content: '\ef20'; }
.icon-fontello-leaf-3:before { content: '\ef21'; }
.icon-fontello-font-1:before { content: '\ef22'; }
.icon-fontello-fontsize-1:before { content: '\ef23'; }
.icon-fontello-bold-1:before { content: '\ef24'; }
.icon-fontello-italic-1:before { content: '\ef25'; }
.icon-fontello-text-height-1:before { content: '\ef26'; }
.icon-fontello-text-width-1:before { content: '\ef27'; }
.icon-fontello-align-left-1:before { content: '\ef28'; }
.icon-fontello-align-center-1:before { content: '\ef29'; }
.icon-fontello-align-right-1:before { content: '\ef2a'; }
.icon-fontello-align-justify-1:before { content: '\ef2b'; }
.icon-fontello-list-3:before { content: '\ef2c'; }
.icon-fontello-indent-left-1:before { content: '\ef2d'; }
.icon-fontello-indent-right-1:before { content: '\ef2e'; }
.icon-fontello-briefcase-3:before { content: '\ef2f'; }
.icon-fontello-off-1:before { content: '\ef30'; }
.icon-fontello-road-1:before { content: '\ef31'; }
.icon-fontello-qrcode-1:before { content: '\ef32'; }
.icon-fontello-barcode-1:before { content: '\ef33'; }
.icon-fontello-braille:before { content: '\ef34'; }
.icon-fontello-book-4:before { content: '\ef35'; }
.icon-fontello-adjust-1:before { content: '\ef36'; }
.icon-fontello-tint-1:before { content: '\ef37'; }
.icon-fontello-check-3:before { content: '\ef38'; }
.icon-fontello-check-empty-1:before { content: '\ef39'; }
.icon-fontello-asterisk-1:before { content: '\ef3a'; }
.icon-fontello-gift-2:before { content: '\ef3b'; }
.icon-fontello-fire-2:before { content: '\ef3c'; }
.icon-fontello-magnet-2:before { content: '\ef3d'; }
.icon-fontello-chart-2:before { content: '\ef3e'; }
.icon-fontello-chart-circled:before { content: '\ef3f'; }
.icon-fontello-credit-card-4:before { content: '\ef40'; }
.icon-fontello-megaphone-2:before { content: '\ef41'; }
.icon-fontello-clipboard-2:before { content: '\ef42'; }
.icon-fontello-hdd-2:before { content: '\ef43'; }
.icon-fontello-key-4:before { content: '\ef44'; }
.icon-fontello-certificate-2:before { content: '\ef45'; }
.icon-fontello-tasks-1:before { content: '\ef46'; }
.icon-fontello-filter-1:before { content: '\ef47'; }
.icon-fontello-gauge-2:before { content: '\ef48'; }
.icon-fontello-smiley:before { content: '\ef49'; }
.icon-fontello-smiley-circled:before { content: '\ef4a'; }
.icon-fontello-address-book:before { content: '\ef4b'; }
.icon-fontello-address-book-alt:before { content: '\ef4c'; }
.icon-fontello-asl:before { content: '\ef4d'; }
.icon-fontello-glasses:before { content: '\ef4e'; }
.icon-fontello-hearing-impaired:before { content: '\ef4f'; }
.icon-fontello-iphone-home:before { content: '\ef50'; }
.icon-fontello-person:before { content: '\ef51'; }
.icon-fontello-adult:before { content: '\ef52'; }
.icon-fontello-child:before { content: '\ef53'; }
.icon-fontello-blind:before { content: '\ef54'; }
.icon-fontello-guidedog:before { content: '\ef55'; }
.icon-fontello-accessibility:before { content: '\ef56'; }
.icon-fontello-universal-access:before { content: '\ef57'; }
.icon-fontello-male-2:before { content: '\ef58'; }
.icon-fontello-female-2:before { content: '\ef59'; }
.icon-fontello-behance-1:before { content: '\ef5a'; }
.icon-fontello-blogger-2:before { content: '\ef5b'; }
.icon-fontello-cc-2:before { content: '\ef5c'; }
.icon-fontello-css:before { content: '\ef5d'; }
.icon-fontello-delicious-1:before { content: '\ef5e'; }
.icon-fontello-deviantart-1:before { content: '\ef5f'; }
.icon-fontello-digg-1:before { content: '\ef60'; }
.icon-fontello-dribbble-5:before { content: '\ef61'; }
.icon-fontello-facebook-7:before { content: '\ef62'; }
.icon-fontello-flickr-4:before { content: '\ef63'; }
.icon-fontello-foursquare-2:before { content: '\ef64'; }
.icon-fontello-friendfeed-1:before { content: '\ef65'; }
.icon-fontello-friendfeed-rect-1:before { content: '\ef66'; }
.icon-fontello-github-6:before { content: '\ef67'; }
.icon-fontello-github-text-1:before { content: '\ef68'; }
.icon-fontello-googleplus:before { content: '\ef69'; }
.icon-fontello-instagram-4:before { content: '\ef6a'; }
.icon-fontello-linkedin-6:before { content: '\ef6b'; }
.icon-fontello-path:before { content: '\ef6c'; }
.icon-fontello-picasa-2:before { content: '\ef6d'; }
.icon-fontello-pinterest-3:before { content: '\ef6e'; }
.icon-fontello-reddit-1:before { content: '\ef6f'; }
.icon-fontello-skype-5:before { content: '\ef70'; }
.icon-fontello-slideshare:before { content: '\ef71'; }
.icon-fontello-stackoverflow-2:before { content: '\ef72'; }
.icon-fontello-stumbleupon-2:before { content: '\ef73'; }
.icon-fontello-twitter-7:before { content: '\ef74'; }
.icon-fontello-tumblr-4:before { content: '\ef75'; }
.icon-fontello-vimeo-4:before { content: '\ef76'; }
.icon-fontello-vkontakte-2:before { content: '\ef77'; }
.icon-fontello-w3c-1:before { content: '\ef78'; }
.icon-fontello-wordpress-2:before { content: '\ef79'; }
.icon-fontello-youtube-3:before { content: '\ef7a'; }
.icon-fontello-music-4:before { content: '\ef7b'; }
.icon-fontello-search-7:before { content: '\ef7c'; }
.icon-fontello-mail-7:before { content: '\ef7d'; }
.icon-fontello-heart-7:before { content: '\ef7e'; }
.icon-fontello-star-7:before { content: '\ef7f'; }
.icon-fontello-user-7:before { content: '\ef80'; }
.icon-fontello-videocam-5:before { content: '\ef81'; }
.icon-fontello-camera-7:before { content: '\ef82'; }
.icon-fontello-photo-1:before { content: '\ef83'; }
.icon-fontello-attach-6:before { content: '\ef84'; }
.icon-fontello-lock-7:before { content: '\ef85'; }
.icon-fontello-eye-7:before { content: '\ef86'; }
.icon-fontello-tag-6:before { content: '\ef87'; }
.icon-fontello-thumbs-up-5:before { content: '\ef88'; }
.icon-fontello-pencil-7:before { content: '\ef89'; }
.icon-fontello-comment-6:before { content: '\ef8a'; }
.icon-fontello-location-7:before { content: '\ef8b'; }
.icon-fontello-cup-1:before { content: '\ef8c'; }
.icon-fontello-trash-8:before { content: '\ef8d'; }
.icon-fontello-doc-7:before { content: '\ef8e'; }
.icon-fontello-note-1:before { content: '\ef8f'; }
.icon-fontello-cog-6:before { content: '\ef90'; }
.icon-fontello-params:before { content: '\ef91'; }
.icon-fontello-calendar-8:before { content: '\ef92'; }
.icon-fontello-sound-1:before { content: '\ef93'; }
.icon-fontello-clock-7:before { content: '\ef94'; }
.icon-fontello-lightbulb-3:before { content: '\ef95'; }
.icon-fontello-tv:before { content: '\ef96'; }
.icon-fontello-desktop-3:before { content: '\ef97'; }
.icon-fontello-mobile-6:before { content: '\ef98'; }
.icon-fontello-cd-3:before { content: '\ef99'; }
.icon-fontello-inbox-4:before { content: '\ef9a'; }
.icon-fontello-globe-6:before { content: '\ef9b'; }
.icon-fontello-cloud-7:before { content: '\ef9c'; }
.icon-fontello-paper-plane-2:before { content: '\ef9d'; }
.icon-fontello-fire-3:before { content: '\ef9e'; }
.icon-fontello-graduation-cap-1:before { content: '\ef9f'; }
.icon-fontello-megaphone-3:before { content: '\efa0'; }
.icon-fontello-database-2:before { content: '\efa1'; }
.icon-fontello-key-5:before { content: '\efa2'; }
.icon-fontello-beaker-1:before { content: '\efa3'; }
.icon-fontello-truck-1:before { content: '\efa4'; }
.icon-fontello-money-2:before { content: '\efa5'; }
.icon-fontello-food-1:before { content: '\efa6'; }
.icon-fontello-shop-1:before { content: '\efa7'; }
.icon-fontello-diamond:before { content: '\efa8'; }
.icon-fontello-t-shirt:before { content: '\efa9'; }
.icon-fontello-wallet:before { content: '\efaa'; }
.icon-fontello-search-8:before { content: '\efab'; }
.icon-fontello-mail-8:before { content: '\efac'; }
.icon-fontello-heart-8:before { content: '\efad'; }
.icon-fontello-heart-empty-4:before { content: '\efae'; }
.icon-fontello-star-8:before { content: '\efaf'; }
.icon-fontello-user-8:before { content: '\efb0'; }
.icon-fontello-video-5:before { content: '\efb1'; }
.icon-fontello-picture-5:before { content: '\efb2'; }
.icon-fontello-th-large-3:before { content: '\efb3'; }
.icon-fontello-th-4:before { content: '\efb4'; }
.icon-fontello-th-list-5:before { content: '\efb5'; }
.icon-fontello-ok-6:before { content: '\efb6'; }
.icon-fontello-ok-circle-2:before { content: '\efb7'; }
.icon-fontello-cancel-7:before { content: '\efb8'; }
.icon-fontello-cancel-circle-3:before { content: '\efb9'; }
.icon-fontello-plus-circle-2:before { content: '\efba'; }
.icon-fontello-minus-circle-2:before { content: '\efbb'; }
.icon-fontello-link-5:before { content: '\efbc'; }
.icon-fontello-attach-7:before { content: '\efbd'; }
.icon-fontello-lock-8:before { content: '\efbe'; }
.icon-fontello-lock-open-7:before { content: '\efbf'; }
.icon-fontello-tag-7:before { content: '\efc0'; }
.icon-fontello-reply-4:before { content: '\efc1'; }
.icon-fontello-reply-all-2:before { content: '\efc2'; }
.icon-fontello-forward-4:before { content: '\efc3'; }
.icon-fontello-code-3:before { content: '\efc4'; }
.icon-fontello-retweet-4:before { content: '\efc5'; }
.icon-fontello-comment-7:before { content: '\efc6'; }
.icon-fontello-comment-alt-2:before { content: '\efc7'; }
.icon-fontello-chat-6:before { content: '\efc8'; }
.icon-fontello-attention-5:before { content: '\efc9'; }
.icon-fontello-location-8:before { content: '\efca'; }
.icon-fontello-doc-8:before { content: '\efcb'; }
.icon-fontello-docs-landscape:before { content: '\efcc'; }
.icon-fontello-folder-6:before { content: '\efcd'; }
.icon-fontello-archive-2:before { content: '\efce'; }
.icon-fontello-rss-7:before { content: '\efcf'; }
.icon-fontello-rss-alt-1:before { content: '\efd0'; }
.icon-fontello-cog-7:before { content: '\efd1'; }
.icon-fontello-logout-3:before { content: '\efd2'; }
.icon-fontello-clock-8:before { content: '\efd3'; }
.icon-fontello-block-5:before { content: '\efd4'; }
.icon-fontello-resize-full-6:before { content: '\efd5'; }
.icon-fontello-resize-full-circle:before { content: '\efd6'; }
.icon-fontello-popup-5:before { content: '\efd7'; }
.icon-fontello-left-open-5:before { content: '\efd8'; }
.icon-fontello-right-open-5:before { content: '\efd9'; }
.icon-fontello-down-circle-1:before { content: '\efda'; }
.icon-fontello-left-circle-1:before { content: '\efdb'; }
.icon-fontello-right-circle-1:before { content: '\efdc'; }
.icon-fontello-up-circle-1:before { content: '\efdd'; }
.icon-fontello-down-dir-3:before { content: '\efde'; }
.icon-fontello-right-dir-3:before { content: '\efdf'; }
.icon-fontello-down-micro:before { content: '\efe0'; }
.icon-fontello-up-micro:before { content: '\efe1'; }
.icon-fontello-cw-circle:before { content: '\efe2'; }
.icon-fontello-arrows-cw-3:before { content: '\efe3'; }
.icon-fontello-updown-circle:before { content: '\efe4'; }
.icon-fontello-target-5:before { content: '\efe5'; }
.icon-fontello-signal-5:before { content: '\efe6'; }
.icon-fontello-progress-4:before { content: '\efe7'; }
.icon-fontello-progress-5:before { content: '\efe8'; }
.icon-fontello-progress-6:before { content: '\efe9'; }
.icon-fontello-progress-7:before { content: '\efea'; }
.icon-fontello-progress-8:before { content: '\efeb'; }
.icon-fontello-progress-9:before { content: '\efec'; }
.icon-fontello-progress-10:before { content: '\efed'; }
.icon-fontello-progress-11:before { content: '\efee'; }
.icon-fontello-font-2:before { content: '\efef'; }
.icon-fontello-list-4:before { content: '\eff0'; }
.icon-fontello-list-numbered-1:before { content: '\eff1'; }
.icon-fontello-indent-left-2:before { content: '\eff2'; }
.icon-fontello-indent-right-2:before { content: '\eff3'; }
.icon-fontello-cloud-8:before { content: '\eff4'; }
.icon-fontello-terminal-1:before { content: '\eff5'; }
.icon-fontello-facebook-rect-2:before { content: '\eff6'; }
.icon-fontello-twitter-bird-2:before { content: '\eff7'; }
.icon-fontello-vimeo-rect-1:before { content: '\eff8'; }
.icon-fontello-tumblr-rect-1:before { content: '\eff9'; }
.icon-fontello-googleplus-rect-1:before { content: '\effa'; }
.icon-fontello-linkedin-rect-1:before { content: '\effb'; }
.icon-fontello-skype-6:before { content: '\effc'; }
.icon-fontello-vkontakte-rect-1:before { content: '\effd'; }
.icon-fontello-youtube-4:before { content: '\effe'; }
.icon-fontello-right-1:before { content: '\e8c9'; }
[class^="icon-"], [class*=" icon-"] {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
 
  /* fix buttons height */
  line-height: 1em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
}
 
.icon-ok-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe802;&nbsp;'); }
.icon-cancel-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe803;&nbsp;'); }@font-face {
  font-family: 'Glyphicons Halflings';
  src: url(/static/media/glyphicons-webfont.448c34a5.woff2) format("woff2"), url(/static/media/glyphicons-webfont.fa277232.woff) format("woff");
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glyphicon-asterisk:before {
  content: "\002a";
}

.glyphicon-plus:before {
  content: "\002b";
}

.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}

.glyphicon-minus:before {
  content: "\2212";
}

.glyphicon-cloud:before {
  content: "\2601";
}

.glyphicon-envelope:before {
  content: "\2709";
}

.glyphicon-pencil:before {
  content: "\270f";
}

.glyphicon-glass:before {
  content: "\e001";
}

.glyphicon-music:before {
  content: "\e002";
}

.glyphicon-search:before {
  content: "\e003";
}

.glyphicon-heart:before {
  content: "\e005";
}

.glyphicon-star:before {
  content: "\e006";
}

.glyphicon-star-empty:before {
  content: "\e007";
}

.glyphicon-user:before {
  content: "\e008";
}

.glyphicon-film:before {
  content: "\e009";
}

.glyphicon-th-large:before {
  content: "\e010";
}

.glyphicon-th:before {
  content: "\e011";
}

.glyphicon-th-list:before {
  content: "\e012";
}

.glyphicon-ok:before {
  content: "\e013";
}

.glyphicon-remove:before {
  content: "\e014";
}

.glyphicon-zoom-in:before {
  content: "\e015";
}

.glyphicon-zoom-out:before {
  content: "\e016";
}

.glyphicon-off:before {
  content: "\e017";
}

.glyphicon-signal:before {
  content: "\e018";
}

.glyphicon-cog:before {
  content: "\e019";
}

.glyphicon-trash:before {
  content: "\e020";
}

.glyphicon-home:before {
  content: "\e021";
}

.glyphicon-file:before {
  content: "\e022";
}

.glyphicon-time:before {
  content: "\e023";
}

.glyphicon-road:before {
  content: "\e024";
}

.glyphicon-download-alt:before {
  content: "\e025";
}

.glyphicon-download:before {
  content: "\e026";
}

.glyphicon-upload:before {
  content: "\e027";
}

.glyphicon-inbox:before {
  content: "\e028";
}

.glyphicon-play-circle:before {
  content: "\e029";
}

.glyphicon-repeat:before {
  content: "\e030";
}

.glyphicon-refresh:before {
  content: "\e031";
}

.glyphicon-list-alt:before {
  content: "\e032";
}

.glyphicon-lock:before {
  content: "\e033";
}

.glyphicon-flag:before {
  content: "\e034";
}

.glyphicon-headphones:before {
  content: "\e035";
}

.glyphicon-volume-off:before {
  content: "\e036";
}

.glyphicon-volume-down:before {
  content: "\e037";
}

.glyphicon-volume-up:before {
  content: "\e038";
}

.glyphicon-qrcode:before {
  content: "\e039";
}

.glyphicon-barcode:before {
  content: "\e040";
}

.glyphicon-tag:before {
  content: "\e041";
}

.glyphicon-tags:before {
  content: "\e042";
}

.glyphicon-book:before {
  content: "\e043";
}

.glyphicon-bookmark:before {
  content: "\e044";
}

.glyphicon-print:before {
  content: "\e045";
}

.glyphicon-camera:before {
  content: "\e046";
}

.glyphicon-font:before {
  content: "\e047";
}

.glyphicon-bold:before {
  content: "\e048";
}

.glyphicon-italic:before {
  content: "\e049";
}

.glyphicon-text-height:before {
  content: "\e050";
}

.glyphicon-text-width:before {
  content: "\e051";
}

.glyphicon-align-left:before {
  content: "\e052";
}

.glyphicon-align-center:before {
  content: "\e053";
}

.glyphicon-align-right:before {
  content: "\e054";
}

.glyphicon-align-justify:before {
  content: "\e055";
}

.glyphicon-list:before {
  content: "\e056";
}

.glyphicon-indent-left:before {
  content: "\e057";
}

.glyphicon-indent-right:before {
  content: "\e058";
}

.glyphicon-facetime-video:before {
  content: "\e059";
}

.glyphicon-picture:before {
  content: "\e060";
}

.glyphicon-map-marker:before {
  content: "\e062";
}

.glyphicon-adjust:before {
  content: "\e063";
}

.glyphicon-tint:before {
  content: "\e064";
}

.glyphicon-edit:before {
  content: "\e065";
}

.glyphicon-share:before {
  content: "\e066";
}

.glyphicon-check:before {
  content: "\e067";
}

.glyphicon-move:before {
  content: "\e068";
}

.glyphicon-step-backward:before {
  content: "\e069";
}

.glyphicon-fast-backward:before {
  content: "\e070";
}

.glyphicon-backward:before {
  content: "\e071";
}

.glyphicon-play:before {
  content: "\e072";
}

.glyphicon-pause:before {
  content: "\e073";
}

.glyphicon-stop:before {
  content: "\e074";
}

.glyphicon-forward:before {
  content: "\e075";
}

.glyphicon-fast-forward:before {
  content: "\e076";
}

.glyphicon-step-forward:before {
  content: "\e077";
}

.glyphicon-eject:before {
  content: "\e078";
}

.glyphicon-chevron-left:before {
  content: "\e079";
}

.glyphicon-chevron-right:before {
  content: "\e080";
}

.glyphicon-plus-sign:before {
  content: "\e081";
}

.glyphicon-minus-sign:before {
  content: "\e082";
}

.glyphicon-remove-sign:before {
  content: "\e083";
}

.glyphicon-ok-sign:before {
  content: "\e084";
}

.glyphicon-question-sign:before {
  content: "\e085";
}

.glyphicon-info-sign:before {
  content: "\e086";
}

.glyphicon-screenshot:before {
  content: "\e087";
}

.glyphicon-remove-circle:before {
  content: "\e088";
}

.glyphicon-ok-circle:before {
  content: "\e089";
}

.glyphicon-ban-circle:before {
  content: "\e090";
}

.glyphicon-arrow-left:before {
  content: "\e091";
}

.glyphicon-arrow-right:before {
  content: "\e092";
}

.glyphicon-arrow-up:before {
  content: "\e093";
}

.glyphicon-arrow-down:before {
  content: "\e094";
}

.glyphicon-share-alt:before {
  content: "\e095";
}

.glyphicon-resize-full:before {
  content: "\e096";
}

.glyphicon-resize-small:before {
  content: "\e097";
}

.glyphicon-exclamation-sign:before {
  content: "\e101";
}

.glyphicon-gift:before {
  content: "\e102";
}

.glyphicon-leaf:before {
  content: "\e103";
}

.glyphicon-fire:before {
  content: "\e104";
}

.glyphicon-eye-open:before {
  content: "\e105";
}

.glyphicon-eye-close:before {
  content: "\e106";
}

.glyphicon-warning-sign:before {
  content: "\e107";
}

.glyphicon-plane:before {
  content: "\e108";
}

.glyphicon-calendar:before {
  content: "\e109";
}

.glyphicon-random:before {
  content: "\e110";
}

.glyphicon-comment:before {
  content: "\e111";
}

.glyphicon-magnet:before {
  content: "\e112";
}

.glyphicon-chevron-up:before {
  content: "\e113";
}

.glyphicon-chevron-down:before {
  content: "\e114";
}

.glyphicon-retweet:before {
  content: "\e115";
}

.glyphicon-shopping-cart:before {
  content: "\e116";
}

.glyphicon-folder-close:before {
  content: "\e117";
}

.glyphicon-folder-open:before {
  content: "\e118";
}

.glyphicon-resize-vertical:before {
  content: "\e119";
}

.glyphicon-resize-horizontal:before {
  content: "\e120";
}

.glyphicon-hdd:before {
  content: "\e121";
}

.glyphicon-bullhorn:before {
  content: "\e122";
}

.glyphicon-bell:before {
  content: "\e123";
}

.glyphicon-certificate:before {
  content: "\e124";
}

.glyphicon-thumbs-up:before {
  content: "\e125";
}

.glyphicon-thumbs-down:before {
  content: "\e126";
}

.glyphicon-hand-right:before {
  content: "\e127";
}

.glyphicon-hand-left:before {
  content: "\e128";
}

.glyphicon-hand-up:before {
  content: "\e129";
}

.glyphicon-hand-down:before {
  content: "\e130";
}

.glyphicon-circle-arrow-right:before {
  content: "\e131";
}

.glyphicon-circle-arrow-left:before {
  content: "\e132";
}

.glyphicon-circle-arrow-up:before {
  content: "\e133";
}

.glyphicon-circle-arrow-down:before {
  content: "\e134";
}

.glyphicon-globe:before {
  content: "\e135";
}

.glyphicon-wrench:before {
  content: "\e136";
}

.glyphicon-tasks:before {
  content: "\e137";
}

.glyphicon-filter:before {
  content: "\e138";
}

.glyphicon-briefcase:before {
  content: "\e139";
}

.glyphicon-fullscreen:before {
  content: "\e140";
}

.glyphicon-dashboard:before {
  content: "\e141";
}

.glyphicon-paperclip:before {
  content: "\e142";
}

.glyphicon-heart-empty:before {
  content: "\e143";
}

.glyphicon-link:before {
  content: "\e144";
}

.glyphicon-phone:before {
  content: "\e145";
}

.glyphicon-pushpin:before {
  content: "\e146";
}

.glyphicon-usd:before {
  content: "\e148";
}

.glyphicon-gbp:before {
  content: "\e149";
}

.glyphicon-sort:before {
  content: "\e150";
}

.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}

.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}

.glyphicon-sort-by-order:before {
  content: "\e153";
}

.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}

.glyphicon-sort-by-attributes:before {
  content: "\e155";
}

.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}

.glyphicon-unchecked:before {
  content: "\e157";
}

.glyphicon-expand:before {
  content: "\e158";
}

.glyphicon-collapse-down:before {
  content: "\e159";
}

.glyphicon-collapse-up:before {
  content: "\e160";
}

.glyphicon-log-in:before {
  content: "\e161";
}

.glyphicon-flash:before {
  content: "\e162";
}

.glyphicon-log-out:before {
  content: "\e163";
}

.glyphicon-new-window:before {
  content: "\e164";
}

.glyphicon-record:before {
  content: "\e165";
}

.glyphicon-save:before {
  content: "\e166";
}

.glyphicon-open:before {
  content: "\e167";
}

.glyphicon-saved:before {
  content: "\e168";
}

.glyphicon-import:before {
  content: "\e169";
}

.glyphicon-export:before {
  content: "\e170";
}

.glyphicon-send:before {
  content: "\e171";
}

.glyphicon-floppy-disk:before {
  content: "\e172";
}

.glyphicon-floppy-saved:before {
  content: "\e173";
}

.glyphicon-floppy-remove:before {
  content: "\e174";
}

.glyphicon-floppy-save:before {
  content: "\e175";
}

.glyphicon-floppy-open:before {
  content: "\e176";
}

.glyphicon-credit-card:before {
  content: "\e177";
}

.glyphicon-transfer:before {
  content: "\e178";
}

.glyphicon-cutlery:before {
  content: "\e179";
}

.glyphicon-header:before {
  content: "\e180";
}

.glyphicon-compressed:before {
  content: "\e181";
}

.glyphicon-earphone:before {
  content: "\e182";
}

.glyphicon-phone-alt:before {
  content: "\e183";
}

.glyphicon-tower:before {
  content: "\e184";
}

.glyphicon-stats:before {
  content: "\e185";
}

.glyphicon-sd-video:before {
  content: "\e186";
}

.glyphicon-hd-video:before {
  content: "\e187";
}

.glyphicon-subtitles:before {
  content: "\e188";
}

.glyphicon-sound-stereo:before {
  content: "\e189";
}

.glyphicon-sound-dolby:before {
  content: "\e190";
}

.glyphicon-sound-5-1:before {
  content: "\e191";
}

.glyphicon-sound-6-1:before {
  content: "\e192";
}

.glyphicon-sound-7-1:before {
  content: "\e193";
}

.glyphicon-copyright-mark:before {
  content: "\e194";
}

.glyphicon-registration-mark:before {
  content: "\e195";
}

.glyphicon-cloud-download:before {
  content: "\e197";
}

.glyphicon-cloud-upload:before {
  content: "\e198";
}

.glyphicon-tree-conifer:before {
  content: "\e199";
}

.glyphicon-tree-deciduous:before {
  content: "\e200";
}

.glyphicon-cd:before {
  content: "\e201";
}

.glyphicon-save-file:before {
  content: "\e202";
}

.glyphicon-open-file:before {
  content: "\e203";
}

.glyphicon-level-up:before {
  content: "\e204";
}

.glyphicon-copy:before {
  content: "\e205";
}

.glyphicon-paste:before {
  content: "\e206";
}

/**
 * .glyphicon-door                   { &:before { content: "\1f6aa"; } }
 * .glyphicon-key                    { &:before { content: "\1f511"; } }
 */
.glyphicon-alert:before {
  content: "\e209";
}

.glyphicon-equalizer:before {
  content: "\e210";
}

.glyphicon-king:before {
  content: "\e211";
}

.glyphicon-queen:before {
  content: "\e212";
}

.glyphicon-pawn:before {
  content: "\e213";
}

.glyphicon-bishop:before {
  content: "\e214";
}

.glyphicon-knight:before {
  content: "\e215";
}

.glyphicon-baby-formula:before {
  content: "\e216";
}

.glyphicon-tent:before {
  content: "\26fa";
}

.glyphicon-blackboard:before {
  content: "\e218";
}

.glyphicon-bed:before {
  content: "\e219";
}

.glyphicon-apple:before {
  content: "\f8ff";
}

.glyphicon-erase:before {
  content: "\e221";
}

.glyphicon-hourglass:before {
  content: "\231b";
}

.glyphicon-lamp:before {
  content: "\e223";
}

.glyphicon-duplicate:before {
  content: "\e224";
}

.glyphicon-piggy-bank:before {
  content: "\e225";
}

.glyphicon-scissors:before {
  content: "\e226";
}

.glyphicon-bitcoin:before {
  content: "\e227";
}

.glyphicon-btc:before {
  content: "\e227";
}

.glyphicon-xbt:before {
  content: "\e227";
}

.glyphicon-yen:before {
  content: "\00a5";
}

.glyphicon-jpy:before {
  content: "\00a5";
}

.glyphicon-ruble:before {
  content: "\20bd";
}

.glyphicon-rub:before {
  content: "\20bd";
}

.glyphicon-scale:before {
  content: "\e230";
}

.glyphicon-ice-lolly:before {
  content: "\e231";
}

.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}

.glyphicon-education:before {
  content: "\e233";
}

.glyphicon-option-horizontal:before {
  content: "\e234";
}

.glyphicon-option-vertical:before {
  content: "\e235";
}

.glyphicon-menu-hamburger:before {
  content: "\e236";
}

.glyphicon-modal-window:before {
  content: "\e237";
}

.glyphicon-oil:before {
  content: "\e238";
}

.glyphicon-grain:before {
  content: "\e239";
}

.glyphicon-sunglasses:before {
  content: "\e240";
}

.glyphicon-text-size:before {
  content: "\e241";
}

.glyphicon-text-color:before {
  content: "\e242";
}

.glyphicon-text-background:before {
  content: "\e243";
}

.glyphicon-object-align-top:before {
  content: "\e244";
}

.glyphicon-object-align-bottom:before {
  content: "\e245";
}

.glyphicon-object-align-horizontal:before {
  content: "\e246";
}

.glyphicon-object-align-left:before {
  content: "\e247";
}

.glyphicon-object-align-vertical:before {
  content: "\e248";
}

.glyphicon-object-align-right:before {
  content: "\e249";
}

.glyphicon-triangle-right:before {
  content: "\e250";
}

.glyphicon-triangle-left:before {
  content: "\e251";
}

.glyphicon-triangle-bottom:before {
  content: "\e252";
}

.glyphicon-triangle-top:before {
  content: "\e253";
}

.glyphicon-console:before {
  content: "\e254";
}

.glyphicon-superscript:before {
  content: "\e255";
}

.glyphicon-subscript:before {
  content: "\e256";
}

.glyphicon-menu-left:before {
  content: "\e257";
}

.glyphicon-menu-right:before {
  content: "\e258";
}

.glyphicon-menu-down:before {
  content: "\e259";
}

.glyphicon-menu-up:before {
  content: "\e260";
}
@font-face {
  font-family: 'fontello';
  src: url(/static/media/fontello.ed71b1a9.eot);
  src: url(/static/media/fontello.ed71b1a9.eot#iefix) format('embedded-opentype'),
       url(/static/media/fontello.55811b3e.woff2) format('woff2'),
       url(/static/media/fontello.f19f506d.woff) format('woff'),
       url(/static/media/fontello.7c357793.ttf) format('truetype'),
       url(/static/media/fontello.7f3ad42b.svg#fontello) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?60984597#fontello') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-eye:before { content: '\e801'; } /* '' */
.icon-update:before { content: '\e802'; } /* '' */
.icon-clipboard:before { content: '\e803'; } /* '' */
@font-face {
  font-family: 'menu-icons';
  src: url(/static/media/menu-icons.ca2543c4.eot);
  src: url(/static/media/menu-icons.ef3fe0af.woff2) format('woff2'),
       url(/static/media/menu-icons.54c1ac1d.ttf) format('truetype'),
       url(/static/media/menu-icons.1bdafeea.svg#menu-icons) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'menu-icons';
    src: url('../font/menu-icons.svg?11862122#menu-icons') format('svg');
  }
}
*/
 
 [class^="menu-ico-"]:before, [class*=" menu-ico-"]:before {
  font-family: "menu-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.menu-ico-ideas:before { content: '\e803'; } /* '' */
.menu-ico-change:before { content: '\e804'; } /* '' */
.menu-ico-rent:before { content: '\e805'; } /* '' */
.menu-ico-calculate:before { content: '\e806'; } /* '' */
.menu-ico-physician:before { content: '\e807'; } /* '' */
.menu-ico-add-folder:before { content: '\e808'; } /* '' */
.menu-ico-application:before { content: '\e809'; } /* '' */
.menu-ico-script:before { content: '\e80a'; } /* '' */
.menu-ico-file:before { content: '\e80b'; } /* '' */
.menu-ico-file-2:before { content: '\e80c'; } /* '' */
.menu-ico-article-byiakmyvz:before { content: '\e80d'; } /* '' */
.menu-ico-gearwheel:before { content: '\e80e'; } /* '' */
@font-face {
  font-family: 'fontello';
  src: url(/static/media/fontello.32c0467a.eot);
  src: url(/static/media/fontello.32c0467a.eot#iefix) format('embedded-opentype'),
       url(/static/media/fontello.a116aa39.woff2) format('woff2'),
       url(/static/media/fontello.c3f24f23.woff) format('woff'),
       url(/static/media/fontello.1d4ca1be.ttf) format('truetype'),
       url(/static/media/fontello.0107344f.svg#fontello) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?7096484#fontello') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-menu-compliance:before { content: '\e500'; } /* '' */
.icon-menu-analitycs:before { content: '\e501'; } /* '' */
.icon-menu-pharmacy:before { content: '\e502'; } /* '' */
.icon-menu-management:before { content: '\e503'; } /* '' */
.icon-menu-notification:before { content: '\e504'; } /* '' */@font-face {
  font-family: 'fontello';
  src: url(/static/media/fontello.dff770cc.eot);
  src: url(/static/media/fontello.dff770cc.eot#iefix) format('embedded-opentype'),
       url(/static/media/fontello.15d1347a.woff2) format('woff2'),
       url(/static/media/fontello.aea1ac91.woff) format('woff'),
       url(/static/media/fontello.498b6c05.ttf) format('truetype'),
       url(/static/media/fontello.e0d22287.svg#fontello) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?7096484#fontello') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-menu-logout:before { content: '\e800'; } /* '' */
.icon-menu-id-card:before { content: '\f2c2'; } /* '' */@charset "UTF-8";

 @font-face {
  font-family: 'fontello';
  src: url(/static/media/fontello.23a9b581.eot);
  src: url(/static/media/fontello.23a9b581.eot#iefix) format('embedded-opentype'),
       url(/static/media/fontello.b1cb8c20.woff2) format('woff2'),
       url(/static/media/fontello.773594a9.woff) format('woff'),
       url(/static/media/fontello.0d2cc805.ttf) format('truetype'),
       url(/static/media/fontello.168d6e32.svg#fontello) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?91814149#fontello') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-left-open:before { content: '\e044'; } /* '' */
.icon-cw:before { content: '\e800'; } /* '' */
.icon-ok-circle:before { content: '\e802'; } /* '' */
.icon-cancel-circle:before { content: '\e803'; } /* '' */
.icon-location:before { content: '\f031'; } /* '' */
.icon-sort:before { content: '\f0dc'; } /* '' */
.icon-sort-down:before { content: '\f0dd'; } /* '' */
.icon-sort-up:before { content: '\f0de'; } /* '' */
.icon-chart-bar:before { content: '󡀀'; } /* '\e1000' */
.icon-right-open:before { content: '󡀁'; } /* '\e1001' */@font-face {
  font-family: 'contract-rx';
  src: url(/static/media/contract-rx.272050ba.eot);
  src: url(/static/media/contract-rx.272050ba.eot#iefix) format('embedded-opentype'),
       url(/static/media/contract-rx.94c143f4.woff2) format('woff2'),
       url(/static/media/contract-rx.2711d35a.woff) format('woff'),
       url(/static/media/contract-rx.f874e522.ttf) format('truetype'),
       url(/static/media/contract-rx.1f8642bc.svg#contract-rx) format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'contract-rx';
    src: url('../font/contract-rx.svg?91716634#contract-rx') format('svg');
  }
}
*/
 
 [class^="icon-contract-"]:before, [class*=" icon-contract-"]:before {
  font-family: "contract-rx";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-contract-orders:before { content: '\e800'; } /* '' */
.icon-contract-claims-review:before { content: '\e801'; } /* '' */
.icon-contract-accumulator:before { content: '\e802'; margin-left: 0;} /* '' */
@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .navbar {
    display: none; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

body {
  font-family: "Proxima Nova";
  font-size: 16px;
  line-height: 1.78571;
  color: #333333;
  background-color: #fff; }

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

a {
  color: #2EB398;
  text-decoration: none; }
  a:hover, a:focus {
    color: #2e6b5e;
    text-decoration: none; }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

figure {
  margin: 0; }

img {
  vertical-align: middle; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 6px; }

.img-thumbnail {
  padding: 4px;
  line-height: 1.78571;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto; }

.img-circle {
  border-radius: 50%; }

hr {
  margin-top: 28px;
  margin-bottom: 28px;
  border: 0;
  border-top: 1px solid #eeeeee; }

.sr-only, .bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after, .bootstrap-datetimepicker-widget .btn[data-action="clear"]::after, .bootstrap-datetimepicker-widget .btn[data-action="today"]::after, .bootstrap-datetimepicker-widget .picker-switch::after, .bootstrap-datetimepicker-widget table th.prev::after, .bootstrap-datetimepicker-widget table th.next::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

[role="button"] {
  cursor: pointer; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Proxima Nova";
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }
  h1 small,
  h1 .small, h2 small,
  h2 .small, h3 small,
  h3 .small, h4 small,
  h4 .small, h5 small,
  h5 .small, h6 small,
  h6 .small,
  .h1 small,
  .h1 .small, .h2 small,
  .h2 .small, .h3 small,
  .h3 .small, .h4 small,
  .h4 .small, .h5 small,
  .h5 .small, .h6 small,
  .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #777777; }

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 28px;
  margin-bottom: 14px; }
  h1 small,
  h1 .small, .h1 small,
  .h1 .small,
  h2 small,
  h2 .small, .h2 small,
  .h2 .small,
  h3 small,
  h3 .small, .h3 small,
  .h3 .small {
    font-size: 65%; }

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 14px;
  margin-bottom: 14px; }
  h4 small,
  h4 .small, .h4 small,
  .h4 .small,
  h5 small,
  h5 .small, .h5 small,
  .h5 .small,
  h6 small,
  h6 .small, .h6 small,
  .h6 .small {
    font-size: 75%; }

h1, .h1 {
  font-size: 41px; }

h2, .h2 {
  font-size: 34px; }

h3, .h3 {
  font-size: 28px; }

h4, .h4 {
  font-size: 20px; }

h5, .h5 {
  font-size: 16px; }

h6, .h6 {
  font-size: 14px; }

p {
  margin: 0 0 14px; }

.lead {
  margin-bottom: 28px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 990px) {
    .lead {
      font-size: 24px; } }

small,
.small {
  font-size: 87%; }

mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em; }

.text-left {
  text-align: left; }

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

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

.text-justify {
  text-align: justify; }

.text-nowrap {
  white-space: nowrap; }

.text-lowercase {
  text-transform: lowercase; }

.text-uppercase, .initialism {
  text-transform: uppercase; }

.text-capitalize {
  text-transform: capitalize; }

.text-muted {
  color: #777777; }

.text-primary {
  color: #428bca; }

a.text-primary:hover,
a.text-primary:focus {
  color: #3071a9; }

.text-success {
  color: #3c763d; }

a.text-success:hover,
a.text-success:focus {
  color: #2b542c; }

.text-info {
  color: #31708f; }

a.text-info:hover,
a.text-info:focus {
  color: #245269; }

.text-warning {
  color: #8a6d3b; }

a.text-warning:hover,
a.text-warning:focus {
  color: #66512c; }

.text-danger {
  color: #a94442; }

a.text-danger:hover,
a.text-danger:focus {
  color: #843534; }

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #428bca; }

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #3071a9; }

.bg-success {
  background-color: #dff0d8; }

a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3; }

.bg-info {
  background-color: #d9edf7; }

a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee; }

.bg-warning {
  background-color: #fcf8e3; }

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5; }

.bg-danger {
  background-color: #f2dede; }

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9; }

.page-header {
  padding-bottom: 13px;
  margin: 56px 0 28px;
  border-bottom: 1px solid #eeeeee; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 14px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
  .list-inline > li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px; }

dl {
  margin-top: 0;
  margin-bottom: 28px; }

dt,
dd {
  line-height: 1.78571; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

.dl-horizontal dd:before, .dl-horizontal dd:after {
  content: " ";
  display: table; }

.dl-horizontal dd:after {
  clear: both; }

@media (min-width: 990px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd {
    margin-left: 180px; } }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777; }

.initialism {
  font-size: 90%; }

blockquote {
  padding: 14px 28px;
  margin: 0 0 28px;
  font-size: 20px;
  border-left: 5px solid #eeeeee; }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0; }
  blockquote footer,
  blockquote small,
  blockquote .small {
    display: block;
    font-size: 80%;
    line-height: 1.78571;
    color: #777777; }
    blockquote footer:before,
    blockquote small:before,
    blockquote .small:before {
      content: '\2014 \00A0'; }

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right; }
  .blockquote-reverse footer:before,
  .blockquote-reverse small:before,
  .blockquote-reverse .small:before,
  blockquote.pull-right footer:before,
  blockquote.pull-right small:before,
  blockquote.pull-right .small:before {
    content: ''; }
  .blockquote-reverse footer:after,
  .blockquote-reverse small:after,
  .blockquote-reverse .small:after,
  blockquote.pull-right footer:after,
  blockquote.pull-right small:after,
  blockquote.pull-right .small:after {
    content: '\00A0 \2014'; }

address {
  margin-bottom: 28px;
  font-style: normal;
  line-height: 1.78571; }

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
  box-shadow: 1px 1px rgba(0, 0, 0, 0.2); }

code[class*="language-"],
pre[class*="language-"] {
  box-shadow: none; }

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold;
    box-shadow: none; }

pre {
  display: block;
  padding: 13.5px;
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.78571;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 25px;
  padding-right: 25px; }
  .container:before, .container:after {
    content: " ";
    display: table; }
  .container:after {
    clear: both; }
  @media (min-width: 990px) {
    .container {
      width: 990px; } }
  @media (min-width: 1152px) {
    .container {
      width: 990px; } }
  @media (min-width: 1366px) {
    .container {
      width: 990px; } }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 25px;
  padding-right: 25px; }
  .container-fluid:before, .container-fluid:after {
    content: " ";
    display: table; }
  .container-fluid:after {
    clear: both; }

.row {
  margin-left: -25px;
  margin-right: -25px; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 25px;
  padding-right: 25px; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.33333%; }

.col-xs-pull-2 {
  right: 16.66667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.33333%; }

.col-xs-pull-5 {
  right: 41.66667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.33333%; }

.col-xs-pull-8 {
  right: 66.66667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.33333%; }

.col-xs-pull-11 {
  right: 91.66667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.33333%; }

.col-xs-push-2 {
  left: 16.66667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.33333%; }

.col-xs-push-5 {
  left: 41.66667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.33333%; }

.col-xs-push-8 {
  left: 66.66667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.33333%; }

.col-xs-push-11 {
  left: 91.66667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.33333%; }

.col-xs-offset-2 {
  margin-left: 16.66667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.33333%; }

.col-xs-offset-5 {
  margin-left: 41.66667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.33333%; }

.col-xs-offset-8 {
  margin-left: 66.66667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.33333%; }

.col-xs-offset-11 {
  margin-left: 91.66667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 990px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }
  .col-sm-1 {
    width: 8.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1152px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-1 {
    width: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1366px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }
  .col-lg-1 {
    width: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

table {
  background-color: transparent; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left; }

th {
  text-align: left; }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 28px; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.78571;
    vertical-align: top;
    border-top: 1px solid #ddd; }
  .table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd; }
  .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: 0; }
  .table > tbody + tbody {
    border-top: 2px solid #ddd; }
  .table .table {
    background-color: #fff; }

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px; }

.table-bordered {
  border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

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

.table-hover > tbody > tr:hover {
  background-color: #f5f5f5; }

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column; }

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell; }

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5; }

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8; }

.table > thead > tr > td.success,
.table > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #dff0d8; }

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6; }

.table > thead > tr > td.info,
.table > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #d9edf7; }

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3; }

.table > thead > tr > td.warning,
.table > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3; }

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc; }

.table > thead > tr > td.danger,
.table > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2dede; }

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc; }

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; }
  @media screen and (max-width: 989px) {
    .table-responsive {
      width: 100%;
      margin-bottom: 21px;
      overflow-y: hidden;
      -ms-overflow-style: -ms-autohiding-scrollbar;
      border: 1px solid #ddd; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .table-responsive > .table > tfoot > tr > td {
          white-space: nowrap; }
      .table-responsive > .table-bordered {
        border: 0; }
        .table-responsive > .table-bordered > thead > tr > th:first-child,
        .table-responsive > .table-bordered > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .table-responsive > .table-bordered > tfoot > tr > td:first-child {
          border-left: 0; }
        .table-responsive > .table-bordered > thead > tr > th:last-child,
        .table-responsive > .table-bordered > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .table-responsive > .table-bordered > tfoot > tr > td:last-child {
          border-right: 0; }
        .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .table-responsive > .table-bordered > tfoot > tr:last-child > td {
          border-bottom: 0; } }

.table-top-align td, .table-top-align th {
  vertical-align: top !important; }

.table-middle-align td, .table-middle-align th {
  vertical-align: middle !important; }

.table-bottom-align td, .table-bottom-align th {
  vertical-align: bottom !important; }

.table-collapsed {
  margin: 0; }

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 28px;
  font-size: 24px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5; }

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold; }

input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal; }

input[type="file"] {
  display: block; }

input[type="range"] {
  display: block;
  width: 100%; }

select[multiple],
select[size] {
  height: auto; }

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.78571;
  color: #555555; }

.form-control {
  display: block;
  width: 100%;
  height: 41px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.78571;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
  .form-control::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder {
    color: #999; }
  .form-control::-ms-expand {
    border: 0;
    background-color: transparent; }
  .form-control[disabled], .form-control[readonly],
  fieldset[disabled] .form-control {
    background-color: #eeeeee;
    opacity: 1; }
  .form-control[disabled],
  fieldset[disabled] .form-control {
    cursor: not-allowed; }

textarea.form-control {
  height: auto; }

input[type="search"] {
  -webkit-appearance: none; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 41px; }
  input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"],
  .input-group-sm > input.input-group-addon[type="date"],
  .input-group-sm > .input-group-btn > input.btn[type="date"],
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input.form-control[type="time"],
  .input-group-sm > input.input-group-addon[type="time"],
  .input-group-sm > .input-group-btn > input.btn[type="time"],
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input.form-control[type="datetime-local"],
  .input-group-sm > input.input-group-addon[type="datetime-local"],
  .input-group-sm > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input.form-control[type="month"],
  .input-group-sm > input.input-group-addon[type="month"],
  .input-group-sm > .input-group-btn > input.btn[type="month"],
  .input-group-sm
  input[type="month"] {
    line-height: 33px; }
  input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"],
  .input-group-lg > input.input-group-addon[type="date"],
  .input-group-lg > .input-group-btn > input.btn[type="date"],
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input.form-control[type="time"],
  .input-group-lg > input.input-group-addon[type="time"],
  .input-group-lg > .input-group-btn > input.btn[type="time"],
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input.form-control[type="datetime-local"],
  .input-group-lg > input.input-group-addon[type="datetime-local"],
  .input-group-lg > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input.form-control[type="month"],
  .input-group-lg > input.input-group-addon[type="month"],
  .input-group-lg > .input-group-btn > input.btn[type="month"],
  .input-group-lg
  input[type="month"] {
    line-height: 49px; } }

.form-group {
  margin-bottom: 15px; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label,
  .checkbox label {
    min-height: 28px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px; }

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer; }

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px; }

input[type="radio"][disabled], input[type="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed; }

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed; }

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed; }

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 44px; }
  .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
  .input-group-lg > .form-control-static.input-group-addon,
  .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
  .input-group-sm > .form-control-static.input-group-addon,
  .input-group-sm > .input-group-btn > .form-control-static.btn {
    padding-left: 0;
    padding-right: 0; }

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 33px;
  line-height: 33px; }

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select.form-control[multiple],
.input-group-sm > select.input-group-addon[multiple],
.input-group-sm > .input-group-btn > select.btn[multiple] {
  height: auto; }

.form-group-sm .form-control {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px; }

.form-group-sm select.form-control {
  height: 33px;
  line-height: 33px; }

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto; }

.form-group-sm .form-control-static {
  height: 33px;
  min-height: 42px;
  padding: 6px 10px;
  font-size: 14px;
  line-height: 1.5; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px; }

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 49px;
  line-height: 49px; }

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select.form-control[multiple],
.input-group-lg > select.input-group-addon[multiple],
.input-group-lg > .input-group-btn > select.btn[multiple] {
  height: auto; }

.form-group-lg .form-control {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px; }

.form-group-lg select.form-control {
  height: 49px;
  line-height: 49px; }

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto; }

.form-group-lg .form-control-static {
  height: 49px;
  min-height: 48px;
  padding: 11px 16px;
  font-size: 20px;
  line-height: 1.33333; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control {
    padding-right: 51.25px; }

.form-control-feedback {
  position: absolute !important;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 41px;
  height: 41px;
  line-height: 41px;
  text-align: center;
  pointer-events: none; }

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 49px;
  height: 49px;
  line-height: 49px; }

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 33px;
  height: 33px;
  line-height: 33px; }

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d; }

.has-success .form-control {
  border-color: #3c763d !important; }
  .has-success .form-control:focus {
    border-color: #2b542c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8; }

.has-success .form-control-feedback {
  color: #3c763d; }

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b; }

.has-warning .form-control {
  border-color: #8a6d3b !important; }
  .has-warning .form-control:focus {
    border-color: #66512c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3; }

.has-warning .form-control-feedback {
  color: #8a6d3b; }

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442; }

.has-error .form-control {
  border-color: #a94442 !important; }
  .has-error .form-control:focus {
    border-color: #843534;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }

.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede; }

.has-error .form-control-feedback {
  color: #a94442; }

.has-feedback label ~ .form-control-feedback {
  top: 33px; }

.has-feedback label.sr-only ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="incrementHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="incrementHours"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="incrementMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="incrementMinutes"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="decrementHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="decrementHours"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="decrementMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="decrementMinutes"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="showHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="showHours"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="showMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="showMinutes"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="togglePeriod"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="togglePeriod"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="clear"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="clear"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.btn[data-action="today"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.btn[data-action="today"]::after ~ .form-control-feedback, .has-feedback .bootstrap-datetimepicker-widget label.picker-switch::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .has-feedback label.picker-switch::after ~ .form-control-feedback {
  top: 0; }

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373; }

@media (min-width: 990px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
    .form-inline .input-group .input-group-addon,
    .form-inline .input-group .input-group-btn,
    .form-inline .input-group .form-control {
      width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
    .form-inline .radio label,
    .form-inline .checkbox label {
      padding-left: 0; }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback {
    top: 0; } }

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px; }

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 35px; }

.form-horizontal .form-group {
  margin-left: -25px;
  margin-right: -25px; }
  .form-horizontal .form-group:before, .form-horizontal .form-group:after {
    content: " ";
    display: table; }
  .form-horizontal .form-group:after {
    clear: both; }

@media (min-width: 990px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px; } }

.form-horizontal .has-feedback .form-control-feedback {
  right: 25px; }

@media (min-width: 990px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 20px; } }

@media (min-width: 990px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 14px; } }

.btn {
  height: 30px;
  display: inline-block;
  margin-bottom: 0;
  font-weight: bold;
  font-family: "Proxima Nova";
  text-align: center;
  vertical-align: middle;
  letter-spacing: 1px;
  text-transform: uppercase;
  touch-action: manipulation;
  cursor: pointer;
  transition: all 0.2s;
  background-image: none;
  border: 2px solid transparent;
  white-space: nowrap;
  padding: 2px 15px;
  font-size: 12px;
  line-height: 1.78571;
  border-radius: 20px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-top: 3px; }
  .btn.btn-rounded {
    height: auto;
    line-height: 1;
    border-radius: 100px;
    padding: 15px !important; }
  .btn.btn-onlyOnHover {
    border-color: #eee; }
  .btn .caret {
    margin-top: -2px; }
  .btn .rubix-icon {
    line-height: 1;
    font-size: 18px; }
    .btn .rubix-icon ~ span {
      vertical-align: top; }
  .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:hover, .btn:focus, .btn.focus {
    color: #B4B7B9;
    text-decoration: none; }
  .btn:active, .btn.active {
    outline: 0;
    background-image: none; }
  .btn.disabled, .btn[disabled],
  fieldset[disabled] .btn {
    cursor: not-allowed;
    opacity: 0.65;
    filter: alpha(opacity=65); }

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none; }

.btn-default {
  background: #B4B7B9;
  color: white;
  border-color: #B4B7B9; }
  .btn-default.btn-outlined {
    color: #B4B7B9;
    background: none; }
    .btn-default.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-default.btn-outlined.btn-onlyOnHover:hover, .btn-default.btn-outlined.btn-onlyOnHover:focus, .btn-default.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-default.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-default.btn-outlined.btn-inverse:hover, .btn-default.btn-outlined.btn-inverse:focus, .btn-default.btn-outlined.btn-inverse.active {
        color: #B4B7B9;
        background: white; }
        .btn-default.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-default.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-default.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #B4B7B9;
          color: white;
          border-color: #B4B7B9; }
          .btn-default.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-default.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-default.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #85898d;
            border-color: #666b6e; }
  .btn-default:focus, .btn-default.focus, .btn-default:hover, .btn-default.active {
    color: white;
    background: #ced0d2;
    border-color: #ced0d2; }
  .btn-default:active, .btn-default.active, .btn-default[aria-expanded="true"], .btn-default.active:hover, .btn-default.active:focus, .btn-default[aria-expanded="true"]:hover, .btn-default[aria-expanded="true"]:focus,
  .open > .btn-default.dropdown-toggle {
    color: white;
    background: #85898d;
    border-color: #666b6e;
    background-image: none; }
  .btn-default.dropdown-toggle + ul li.active a {
    color: white;
    background: #B4B7B9; }
  .btn-default.disabled, .btn-default[disabled],
  fieldset[disabled] .btn-default {
    pointer-events: none; }
  .btn-default .badge {
    color: #B4B7B9;
    background-color: #B4B7B9; }

.btn-primary {
  background: #428bca;
  color: white;
  border-color: #428bca; }
  .btn-primary.btn-outlined {
    color: #428bca;
    background: none; }
    .btn-primary.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-primary.btn-outlined.btn-onlyOnHover:hover, .btn-primary.btn-outlined.btn-onlyOnHover:focus, .btn-primary.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-primary.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-primary.btn-outlined.btn-inverse:hover, .btn-primary.btn-outlined.btn-inverse:focus, .btn-primary.btn-outlined.btn-inverse.active {
        color: #428bca;
        background: white; }
        .btn-primary.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-primary.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-primary.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #428bca;
          color: white;
          border-color: #428bca; }
          .btn-primary.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-primary.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-primary.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #275c8a;
            border-color: #193c5a; }
  .btn-primary:focus, .btn-primary.focus, .btn-primary:hover, .btn-primary.active {
    color: white;
    background: #6aa3d5;
    border-color: #6aa3d5; }
  .btn-primary:active, .btn-primary.active, .btn-primary[aria-expanded="true"], .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary[aria-expanded="true"]:hover, .btn-primary[aria-expanded="true"]:focus,
  .open > .btn-primary.dropdown-toggle {
    color: white;
    background: #275c8a;
    border-color: #193c5a;
    background-image: none; }
  .btn-primary.dropdown-toggle + ul li.active a {
    color: white;
    background: #428bca; }
  .btn-primary.disabled, .btn-primary[disabled],
  fieldset[disabled] .btn-primary {
    pointer-events: none; }
  .btn-primary .badge {
    color: #428bca;
    background-color: #428bca; }

.btn-success {
  background: #5cb85c;
  color: white;
  border-color: #5cb85c; }
  .btn-success.btn-outlined {
    color: #5cb85c;
    background: none; }
    .btn-success.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-success.btn-outlined.btn-onlyOnHover:hover, .btn-success.btn-outlined.btn-onlyOnHover:focus, .btn-success.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-success.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-success.btn-outlined.btn-inverse:hover, .btn-success.btn-outlined.btn-inverse:focus, .btn-success.btn-outlined.btn-inverse.active {
        color: #5cb85c;
        background: white; }
        .btn-success.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-success.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-success.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #5cb85c;
          color: white;
          border-color: #5cb85c; }
          .btn-success.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-success.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-success.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #388038;
            border-color: #255625; }
  .btn-success:focus, .btn-success.focus, .btn-success:hover, .btn-success.active {
    color: white;
    background: #80c780;
    border-color: #80c780; }
  .btn-success:active, .btn-success.active, .btn-success[aria-expanded="true"], .btn-success.active:hover, .btn-success.active:focus, .btn-success[aria-expanded="true"]:hover, .btn-success[aria-expanded="true"]:focus,
  .open > .btn-success.dropdown-toggle {
    color: white;
    background: #388038;
    border-color: #255625;
    background-image: none; }
  .btn-success.dropdown-toggle + ul li.active a {
    color: white;
    background: #5cb85c; }
  .btn-success.disabled, .btn-success[disabled],
  fieldset[disabled] .btn-success {
    pointer-events: none; }
  .btn-success .badge {
    color: #5cb85c;
    background-color: #5cb85c; }

.btn-info {
  background: #5bc0de;
  color: white;
  border-color: #5bc0de; }
  .btn-info.btn-outlined {
    color: #5bc0de;
    background: none; }
    .btn-info.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-info.btn-outlined.btn-onlyOnHover:hover, .btn-info.btn-outlined.btn-onlyOnHover:focus, .btn-info.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-info.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-info.btn-outlined.btn-inverse:hover, .btn-info.btn-outlined.btn-inverse:focus, .btn-info.btn-outlined.btn-inverse.active {
        color: #5bc0de;
        background: white; }
        .btn-info.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-info.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-info.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #5bc0de;
          color: white;
          border-color: #5bc0de; }
          .btn-info.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-info.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-info.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #2596b8;
            border-color: #1b6d85; }
  .btn-info:focus, .btn-info.focus, .btn-info:hover, .btn-info.active {
    color: white;
    background: #85d0e7;
    border-color: #85d0e7; }
  .btn-info:active, .btn-info.active, .btn-info[aria-expanded="true"], .btn-info.active:hover, .btn-info.active:focus, .btn-info[aria-expanded="true"]:hover, .btn-info[aria-expanded="true"]:focus,
  .open > .btn-info.dropdown-toggle {
    color: white;
    background: #2596b8;
    border-color: #1b6d85;
    background-image: none; }
  .btn-info.dropdown-toggle + ul li.active a {
    color: white;
    background: #5bc0de; }
  .btn-info.disabled, .btn-info[disabled],
  fieldset[disabled] .btn-info {
    pointer-events: none; }
  .btn-info .badge {
    color: #5bc0de;
    background-color: #5bc0de; }

.btn-warning {
  background: #f0ad4e;
  color: white;
  border-color: #f0ad4e; }
  .btn-warning.btn-outlined {
    color: #f0ad4e;
    background: none; }
    .btn-warning.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-warning.btn-outlined.btn-onlyOnHover:hover, .btn-warning.btn-outlined.btn-onlyOnHover:focus, .btn-warning.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-warning.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-warning.btn-outlined.btn-inverse:hover, .btn-warning.btn-outlined.btn-inverse:focus, .btn-warning.btn-outlined.btn-inverse.active {
        color: #f0ad4e;
        background: white; }
        .btn-warning.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-warning.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-warning.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #f0ad4e;
          color: white;
          border-color: #f0ad4e; }
          .btn-warning.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-warning.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-warning.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #d18212;
            border-color: #985f0d; }
  .btn-warning:focus, .btn-warning.focus, .btn-warning:hover, .btn-warning.active {
    color: white;
    background: #f4c37d;
    border-color: #f4c37d; }
  .btn-warning:active, .btn-warning.active, .btn-warning[aria-expanded="true"], .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning[aria-expanded="true"]:hover, .btn-warning[aria-expanded="true"]:focus,
  .open > .btn-warning.dropdown-toggle {
    color: white;
    background: #d18212;
    border-color: #985f0d;
    background-image: none; }
  .btn-warning.dropdown-toggle + ul li.active a {
    color: white;
    background: #f0ad4e; }
  .btn-warning.disabled, .btn-warning[disabled],
  fieldset[disabled] .btn-warning {
    pointer-events: none; }
  .btn-warning .badge {
    color: #f0ad4e;
    background-color: #f0ad4e; }

.btn-danger {
  background: #d9534f;
  color: white;
  border-color: #d9534f; }
  .btn-danger.btn-outlined {
    color: #d9534f;
    background: none; }
    .btn-danger.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-danger.btn-outlined.btn-onlyOnHover:hover, .btn-danger.btn-outlined.btn-onlyOnHover:focus, .btn-danger.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-danger.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-danger.btn-outlined.btn-inverse:hover, .btn-danger.btn-outlined.btn-inverse:focus, .btn-danger.btn-outlined.btn-inverse.active {
        color: #d9534f;
        background: white; }
        .btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-danger.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #d9534f;
          color: white;
          border-color: #d9534f; }
          .btn-danger.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-danger.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-danger.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #a82824;
            border-color: #761c19; }
  .btn-danger:focus, .btn-danger.focus, .btn-danger:hover, .btn-danger.active {
    color: white;
    background: #e27c79;
    border-color: #e27c79; }
  .btn-danger:active, .btn-danger.active, .btn-danger[aria-expanded="true"], .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger[aria-expanded="true"]:hover, .btn-danger[aria-expanded="true"]:focus,
  .open > .btn-danger.dropdown-toggle {
    color: white;
    background: #a82824;
    border-color: #761c19;
    background-image: none; }
  .btn-danger.dropdown-toggle + ul li.active a {
    color: white;
    background: #d9534f; }
  .btn-danger.disabled, .btn-danger[disabled],
  fieldset[disabled] .btn-danger {
    pointer-events: none; }
  .btn-danger .badge {
    color: #d9534f;
    background-color: #d9534f; }

.btn-link {
  color: #89949B;
  font-weight: normal;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],
  fieldset[disabled] .btn-link {
    background-color: transparent; }
  .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
    border-color: transparent; }
  .btn-link:hover, .btn-link:focus {
    color: #2e6b5e;
    text-decoration: none;
    background-color: transparent; }
  .btn-link[disabled]:hover, .btn-link[disabled]:focus,
  fieldset[disabled] .btn-link:hover,
  fieldset[disabled] .btn-link:focus {
    color: #777777;
    text-decoration: none; }

.btn-lg, .btn-group-lg > .btn {
  height: auto;
  padding: 10px 25px;
  font-size: 12px;
  line-height: initial;
  border-radius: 20px;
  line-height: 21.4285px;
  padding: 10px 25px !important; }
  .btn-lg.btn-rounded, .btn-group-lg > .btn-rounded.btn {
    line-height: 1;
    padding: 28px; }

.btn-sm, .btn-group-sm > .btn {
  height: auto;
  padding: 2px 15px;
  font-size: 10px;
  line-height: 1.5;
  border-radius: 20px; }

.btn-xs, .btn-group-xs > .btn {
  height: auto;
  padding: 2px 15px;
  font-size: 8px;
  line-height: 1.5;
  border-radius: 20px; }

.btn-rounded.btn.btn-sm, .btn-group-sm > .btn-rounded.btn, .btn-rounded.btn.btn-xs, .btn-group-xs > .btn-rounded.btn {
  padding: 15px;
  line-height: 1; }

.btn-block {
  display: block;
  width: 100%; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.btn.btn-outlined {
  outline: none;
  background: none;
  padding: 3px 15px 2px 15px; }
  .btn.btn-outlined:hover, .btn.btn-outlined:focus {
    outline: none; }

.btn.btn-icon {
  line-height: 0;
  font-size: 30px;
  min-width: 45px;
  min-height: 45px;
  border-radius: 100px;
  width: auto !important;
  height: auto !important;
  padding: 5px 10px !important; }

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

tr.collapse.in {
  display: table-row; }

tbody.collapse.in {
  display: table-row-group; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease; }

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent; }

.dropup,
.dropdown {
  position: relative; }

.dropdown-toggle:focus {
  outline: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 200px;
  padding: 10px 0;
  overflow: hidden;
  margin: 2px 0 0;
  list-style: none;
  font-size: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box; }
  .dropdown-menu.pull-right {
    right: 0;
    left: auto; }
  .dropdown-menu .divider {
    height: 1px;
    margin: 13px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .dropdown-menu li > a {
    display: block;
    padding: 4px 25px;
    clear: both;
    border: none;
    font-weight: normal;
    line-height: 1.78571;
    color: #89949b;
    white-space: pre-line; }

.dropdown-menu li > a:hover, .dropdown-menu li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: rgba(180, 183, 185, 0.05); }

.dropdown-menu .active > a, .dropdown-menu .active > a:hover, .dropdown-menu .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #428bca; }

.dropdown-menu .disabled > a, .dropdown-menu .disabled > a:hover, .dropdown-menu .disabled > a:focus {
  color: #777777; }

.dropdown-menu .disabled > a:hover, .dropdown-menu .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed; }

.open > .dropdown-menu {
  display: block; }

.open > a {
  outline: 0; }

.dropdown-menu-right {
  left: auto;
  right: 0; }

.dropdown-menu-left {
  left: 0;
  right: auto; }

.dropdown-header {
  display: block;
  padding: 6px 25px;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: bold;
  color: #98A0A3;
  line-height: 1.78571;
  color: #777777;
  white-space: nowrap;
  background-color: #F9FAFB;
  border-bottom: 1px solid #F2F2F2; }
  .dropdown-header:first-child {
    margin-top: -10px; }

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990; }

.pull-right > .dropdown-menu {
  right: 0;
  left: auto; }

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: ""; }

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px; }

@media (min-width: 990px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto; }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto; } }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group > rubix-button > .btn,
  .btn-group-vertical > .btn,
  .btn-group-vertical > rubix-button > .btn {
    position: relative;
    float: left; }
    .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group > rubix-button > .btn:hover,
    .btn-group > rubix-button > .btn:focus,
    .btn-group > rubix-button > .btn:active,
    .btn-group > rubix-button > .btn.active,
    .btn-group-vertical > .btn:hover,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active,
    .btn-group-vertical > rubix-button > .btn:hover,
    .btn-group-vertical > rubix-button > .btn:focus,
    .btn-group-vertical > rubix-button > .btn:active,
    .btn-group-vertical > rubix-button > .btn.active {
      z-index: 2; }

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px; }

.btn-toolbar {
  position: relative;
  margin-left: -14px; }
  .btn-toolbar:before, .btn-toolbar:after {
    content: " ";
    display: table; }
  .btn-toolbar:after {
    clear: both; }
  .btn-toolbar > .btn,
  .btn-toolbar > .btn-group,
  .btn-toolbar > .input-group,
  .btn-toolbar > rubix-menu,
  .btn-toolbar > rubix-button > .btn,
  .btn-toolbar > rubix-button-group {
    float: left;
    margin-left: 14px; }

.btn-group > rubix-button {
  float: left; }

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle),
.btn-group > rubix-button:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group > .btn:first-child {
  margin-left: 20px; }
  .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }

.btn-group > rubix-button:first-child:not(:last-child) > .btn {
  margin-left: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.btn-group > .btn:last-child:not(:first-child),
.btn-group > rubix-button:last-child:not(:first-child) > .btn,
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group > .btn-group,
.btn-group > rubix-menu {
  float: left; }

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn,
.btn-group > rubix-menu:not(:first-child):not(:last-child) .btn {
  border-radius: 0; }

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle,
.btn-group > rubix-menu:first-child:not(:last-child) > .btn:last-child,
.btn-group > rubix-menu:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child,
.btn-group > rubix-menu:last-child:not(:first-child) .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0; }

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px; }

.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px; }

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn-group.open .dropdown-toggle.btn-link {
    -webkit-box-shadow: none;
    box-shadow: none; }

.dropdown > .btn:after,
.dropdown > .dropdown-toggle:after {
  content: ' ';
  left: 0;
  width: 100%;
  height: 10px;
  bottom: -10px;
  position: absolute; }

.dropup > .btn:after,
.dropup > .dropdown-toggle:after {
  content: ' ';
  left: 0;
  top: -10px;
  width: 100%;
  height: 10px;
  bottom: auto;
  position: absolute; }

.btn .caret {
  margin-left: 0; }

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0; }

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 5px 5px; }

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn,
.btn-group-vertical > rubix-button > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%; }

.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after,
.btn-group-vertical > rubix-menu:before,
.btn-group-vertical > rubix-menu:after {
  content: " ";
  display: table; }

.btn-group-vertical > .btn-group:after,
.btn-group-vertical > rubix-menu:after {
  clear: both; }

.btn-group-vertical > .btn-group > .btn,
.btn-group-vertical > rubix-menu > .btn {
  float: none; }

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > rubix-button + rubix-button,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > rubix-button + rubix-menu,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > rubix-menu + rubix-button,
.btn-group-vertical > .btn-group + .btn-group,
.btn-group-vertical > rubix-menu + rubix-menu {
  margin-top: -1px;
  margin-left: 0; }

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0; }

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px; }

.btn-group-vertical > rubix-button:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group-vertical > rubix-button:first-child:not(:last-child) > .btn {
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > rubix-button:last-child:not(:first-child) > .btn {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px; }

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn,
.btn-group-vertical > rubix-menu:not(:first-child):not(:last-child) .btn {
  border-radius: 0; }

.btn-group-vertical > .btn-group:first-child:not(:last-child) .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) .dropdown-toggle,
.btn-group-vertical > rubix-menu:first-child:not(:last-child) .btn:last-child,
.btn-group-vertical > rubix-menu:first-child:not(:last-child) .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child,
.btn-group-vertical > rubix-menu:last-child:not(:first-child) .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate; }
  .btn-group-justified > .btn,
  .btn-group-justified > .btn-group,
  .btn-group-justified > rubix-button,
  .btn-group-justified > rubix-menu {
    float: none;
    display: table-cell;
    width: 1%; }
  .btn-group-justified > .btn-group .btn,
  .btn-group-justified > rubix-menu .btn,
  .btn-group-justified > rubix-menu .dropdown,
  .btn-group-justified > rubix-button .btn {
    width: 100%; }
  .btn-group-justified > .btn-group .dropdown-menu,
  .btn-group-justified > rubix-menu .dropdown-menu {
    left: auto; }

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none; }

.input-group {
  position: relative;
  display: table;
  border-collapse: separate; }
  .input-group[class*="col-"] {
    float: none;
    padding-left: 0;
    padding-right: 0; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }
    .input-group .form-control:focus {
      z-index: 3; }

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell; }
  .input-group-addon:not(:first-child):not(:last-child),
  .input-group-btn:not(:first-child):not(:last-child),
  .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0; }

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle; }

.input-group-addon {
  padding: 6px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px; }
  .input-group-addon.input-sm,
  .input-group-sm > .input-group-addon,
  .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 3px; }
  .input-group-addon.input-lg,
  .input-group-lg > .input-group-addon,
  .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: 10px 16px;
    font-size: 20px;
    border-radius: 6px; }
  .input-group-addon input[type="radio"],
  .input-group-addon input[type="checkbox"] {
    margin-top: 0; }

.input-group-btn .btn-group > .btn {
  margin-left: -2px; }

.input-group-btn + .form-control {
  margin-left: -2px; }

.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child .btn,
.input-group-btn:first-child .btn-group > .btn,
.input-group-btn:first-child rubix-menu > .btn-group > .btn,
.input-group-btn:first-child .dropdown-toggle,
.input-group-btn:last-child .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child rubix-button:not(:last-child) .btn:not(.dropdown-toggle),
.input-group-btn:last-child .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.input-group-addon:first-child {
  border-right: 0; }

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child .btn,
.input-group-btn:last-child .btn-group > .btn,
.input-group-btn:last-child rubix-menu > .btn-group > .btn,
.input-group-btn:last-child .dropdown-toggle,
.input-group-btn:first-child .btn:not(:first-child),
.input-group-btn:first-child rubix-button:not(:first-child) .btn,
.input-group-btn:first-child .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.input-group-addon:last-child {
  border-left: 0; }

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap; }
  .input-group-btn > .btn {
    position: relative; }
    .input-group-btn > .btn + .btn {
      margin-left: -1px; }
    .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
      z-index: 2; }
  .input-group-btn > rubix-button > .btn {
    position: relative; }
    .input-group-btn > rubix-button > .btn:hover, .input-group-btn > rubix-button > .btn:focus, .input-group-btn > rubix-button > .btn:active {
      z-index: 2; }
  .input-group-btn > rubix-button + rubix-button > .btn {
    margin-left: -1px; }
  .input-group-btn:first-child > .btn,
  .input-group-btn:first-child > .btn-group {
    margin-right: -1px; }
  .input-group-btn:last-child > .btn,
  .input-group-btn:last-child > .btn-group {
    z-index: 2;
    margin-left: -1px; }

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }
  .nav:before, .nav:after {
    content: " ";
    display: table; }
  .nav:after {
    clear: both; }
  .nav > li,
  .nav > rubix-nav-item > li,
  .nav > rubix-menu > li {
    position: relative;
    display: block; }
    .nav > li > a,
    .nav > rubix-nav-item > li > a,
    .nav > rubix-menu > li > a {
      position: relative;
      display: block;
      padding: 4px 28px;
      color: #011424; }
      .nav > li > a:hover, .nav > li > a:focus,
      .nav > rubix-nav-item > li > a:hover,
      .nav > rubix-nav-item > li > a:focus,
      .nav > rubix-menu > li > a:hover,
      .nav > rubix-menu > li > a:focus {
        text-decoration: none;
        background-color: lighter(#3fddff, 10%); }
    .nav > li.disabled > a,
    .nav > rubix-nav-item > li.disabled > a,
    .nav > rubix-menu > li.disabled > a {
      color: rgba(119, 119, 119, 0.3);
      border-top: none;
      border-left: none;
      border-right: none; }
      .nav > li.disabled > a:hover, .nav > li.disabled > a:focus,
      .nav > rubix-nav-item > li.disabled > a:hover,
      .nav > rubix-nav-item > li.disabled > a:focus,
      .nav > rubix-menu > li.disabled > a:hover,
      .nav > rubix-menu > li.disabled > a:focus {
        color: rgba(119, 119, 119, 0.3);
        text-decoration: none;
        background-color: transparent;
        cursor: not-allowed; }
  .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
    color: #333;
    background-color: lighter(#3fddff, 10%); }
  .nav .nav-divider {
    height: 1px;
    margin: 13px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .nav > li > a > img,
  .nav > rubix-menu > a > img,
  .nav > rubix-nav-item > a > img {
    max-width: none; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs > li,
  .nav-tabs > rubix-menu > li,
  .nav-tabs > rubix-nav-item > li {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs > li > a,
    .nav-tabs > rubix-menu > li > a,
    .nav-tabs > rubix-nav-item > li > a {
      margin-right: 2px;
      text-align: center;
      line-height: 1.78571;
      border: 1px solid transparent;
      border-radius: 4px 4px 0 0; }
      .nav-tabs > li > a:hover,
      .nav-tabs > rubix-menu > li > a:hover,
      .nav-tabs > rubix-nav-item > li > a:hover {
        border-color: #3fddff #3fddff #ddd; }
    .nav-tabs > li.disabled > a:hover,
    .nav-tabs > rubix-menu > li.disabled > a:hover,
    .nav-tabs > rubix-nav-item > li.disabled > a:hover {
      border-bottom-width: 0px; }
    .nav-tabs > li.active > a,
    .nav-tabs > rubix-menu > li.active > a,
    .nav-tabs > rubix-nav-item > li.active > a {
      color: #555555;
      background-color: #fff;
      border: 1px solid #ddd;
      border-bottom-color: transparent;
      cursor: default; }

.nav-pills > li,
.nav-pills > rubix-nav-item > li,
.nav-pills > rubix-menu > li {
  float: left; }
  .nav-pills > li > a,
  .nav-pills > rubix-nav-item > li > a,
  .nav-pills > rubix-menu > li > a {
    border-radius: 4px; }
  .nav-pills > li + li,
  .nav-pills > rubix-nav-item > li + li,
  .nav-pills > rubix-menu > li + li {
    margin-left: 2px; }
  .nav-pills > li.active > a,
  .nav-pills > rubix-nav-item > li.active > a,
  .nav-pills > rubix-menu > li.active > a {
    color: #fff;
    background-color: #428bca; }

.nav-stacked > li,
.nav-stacked > rubix-nav-item > li,
.nav-stacked > rubix-menu > li {
  float: none; }
  .nav-stacked > li + li,
  .nav-stacked > rubix-nav-item > li + li,
  .nav-stacked > rubix-menu > li + li {
    margin-top: 2px;
    margin-left: 0; }

.nav-justified, .nav-tabs.nav-justified {
  width: 100%; }
  .nav-justified > li, .nav-tabs.nav-justified > li {
    float: none; }
  .nav-justified > rubix-menu > a, .nav-tabs.nav-justified > rubix-menu > a,
  .nav-justified > rubix-menu > li > a,
  .nav-tabs.nav-justified > rubix-menu > li > a, .nav-justified > rubix-nav-item > a, .nav-tabs.nav-justified > rubix-nav-item > a,
  .nav-justified > rubix-nav-item > li > a,
  .nav-tabs.nav-justified > rubix-nav-item > li > a, .nav-justified > li > a, .nav-tabs.nav-justified > li > a,
  .nav-justified > li > li > a,
  .nav-tabs.nav-justified > li > li > a {
    text-align: center;
    margin-bottom: 5px;
    border-bottom-width: 0px; }
  .nav-justified > rubix-menu, .nav-tabs.nav-justified > rubix-menu, .nav-justified > rubix-nav-item, .nav-tabs.nav-justified > rubix-nav-item {
    display: block;
    width: auto; }
    .nav-justified > rubix-menu > li, .nav-tabs.nav-justified > rubix-menu > li, .nav-justified > rubix-nav-item > li, .nav-tabs.nav-justified > rubix-nav-item > li {
      width: 100%; }
  .nav-justified > .dropdown .dropdown-menu {
    top: auto;
    left: auto; }
  @media (min-width: 990px) {
    .nav-justified > rubix-menu, .nav-tabs.nav-justified > rubix-menu, .nav-justified > rubix-nav-item, .nav-tabs.nav-justified > rubix-nav-item {
      display: table-cell;
      width: 1%; }
      .nav-justified > rubix-menu > li, .nav-tabs.nav-justified > rubix-menu > li, .nav-justified > rubix-nav-item > li, .nav-tabs.nav-justified > rubix-nav-item > li {
        width: 100%; }
        .nav-justified > rubix-menu > li.disabled > a:hover, .nav-justified > rubix-nav-item > li.disabled > a:hover {
          border-bottom-width: 1px; }
    .nav-justified > li a:hover {
      border-bottom-width: 1px; }
    .nav-justified > li.disabled > a:hover {
      border-bottom-width: 1px; }
    .nav-justified > li, .nav-tabs.nav-justified > li, .nav-justified > rubix-menu, .nav-tabs.nav-justified > rubix-menu, .nav-justified > rubix-nav-item, .nav-tabs.nav-justified > rubix-nav-item {
      display: table-cell;
      width: 1%; }
      .nav-justified > li > a, .nav-tabs.nav-justified > li > a,
      .nav-justified > li > li > a,
      .nav-tabs.nav-justified > li > li > a, .nav-justified > rubix-menu > a, .nav-tabs.nav-justified > rubix-menu > a,
      .nav-justified > rubix-menu > li > a,
      .nav-tabs.nav-justified > rubix-menu > li > a, .nav-justified > rubix-nav-item > a, .nav-tabs.nav-justified > rubix-nav-item > a,
      .nav-justified > rubix-nav-item > li > a,
      .nav-tabs.nav-justified > rubix-nav-item > li > a {
        margin-bottom: 0; } }

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0; }
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a,
  .nav-tabs-justified > rubix-nav-item > li > a,
  .nav-tabs.nav-justified > rubix-nav-item > li > a,
  .nav-tabs-justified > rubix-menu > li > a,
  .nav-tabs.nav-justified > rubix-menu > li > a {
    margin-right: 0;
    border-radius: 4px; }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-justified > .active > a:focus,
  .nav-tabs-justified > rubix-menu .active > a,
  .nav-tabs.nav-justified > rubix-menu .active > a,
  .nav-tabs-justified > rubix-menu .active > a:hover,
  .nav-tabs.nav-justified > rubix-menu .active > a:hover,
  .nav-tabs-justified > rubix-menu .active > a:focus,
  .nav-tabs.nav-justified > rubix-menu .active > a:focus,
  .nav-tabs-justified > rubix-nav-item .active > a,
  .nav-tabs.nav-justified > rubix-nav-item .active > a,
  .nav-tabs-justified > rubix-nav-item .active > a:hover,
  .nav-tabs.nav-justified > rubix-nav-item .active > a:hover,
  .nav-tabs-justified > rubix-nav-item .active > a:focus,
  .nav-tabs.nav-justified > rubix-nav-item .active > a:focus {
    border: 1px solid #ddd; }
  @media (min-width: 990px) {
    .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a,
    .nav-tabs-justified > rubix-nav-item > li > a,
    .nav-tabs.nav-justified > rubix-nav-item > li > a,
    .nav-tabs-justified > rubix-menu > li > a,
    .nav-tabs.nav-justified > rubix-menu > li > a {
      border-bottom: 1px solid #ddd;
      border-radius: 4px 4px 0 0; }
    
    .nav-tabs-justified > rubix-menu .active > a,
    .nav-tabs.nav-justified > rubix-menu .active > a,
    .nav-tabs-justified > rubix-menu .active > a:hover,
    .nav-tabs.nav-justified > rubix-menu .active > a:hover,
    .nav-tabs-justified > rubix-menu .active > a:focus,
    .nav-tabs.nav-justified > rubix-menu .active > a:focus,
    .nav-tabs-justified > rubix-nav-item .active > a,
    .nav-tabs.nav-justified > rubix-nav-item .active > a,
    .nav-tabs-justified > rubix-nav-item .active > a:hover,
    .nav-tabs.nav-justified > rubix-nav-item .active > a:hover,
    .nav-tabs-justified > rubix-nav-item .active > a:focus,
    .nav-tabs.nav-justified > rubix-nav-item .active > a:focus {
      border-bottom-color: #fff; } }

.tab-content > .tab-pane, .tab-content rubix-tab-pane > .tab-pane {
  display: none; }

.tab-content > .active, .tab-content rubix-tab-pane > .active {
  display: block; }

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar {
  position: relative;
  min-height: 75px;
  margin-bottom: 28px;
  border: 1px solid transparent; }
  .navbar:before, .navbar:after {
    content: " ";
    display: table; }
  .navbar:after {
    clear: both; }
  @media (min-width: 990px) {
    .navbar {
      border-radius: 4px; } }

.navbar-header:before, .navbar-header:after {
  content: " ";
  display: table; }

.navbar-header:after {
  clear: both; }

@media (min-width: 990px) {
  .navbar-header {
    float: left; } }

.navbar-collapse {
  overflow-x: visible;
  padding-right: 25px;
  padding-left: 25px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch; }
  .navbar-collapse:before, .navbar-collapse:after {
    content: " ";
    display: table; }
  .navbar-collapse:after {
    clear: both; }
  .navbar-collapse.in {
    overflow-y: auto; }
  @media (min-width: 990px) {
    .navbar-collapse {
      width: auto;
      border-top: 0;
      box-shadow: none; }
      .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important; }
      .navbar-collapse.in {
        overflow-y: visible; }
      .navbar-fixed-top .navbar-collapse,
      .navbar-static-top .navbar-collapse,
      .navbar-fixed-bottom .navbar-collapse {
        padding-left: 0;
        padding-right: 0; } }

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px; }
  @media (max-device-width: 640px) and (orientation: landscape) {
    .navbar-fixed-top .navbar-collapse,
    .navbar-fixed-bottom .navbar-collapse {
      max-height: 200px; } }

.container .navbar-header,
.container .navbar-collapse,
.container-fluid .navbar-header,
.container-fluid .navbar-collapse {
  margin-right: -25px;
  margin-left: -25px; }
  @media (min-width: 990px) {
    .container .navbar-header,
    .container .navbar-collapse,
    .container-fluid .navbar-header,
    .container-fluid .navbar-collapse {
      margin-right: 0;
      margin-left: 0; } }

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px; }
  @media (min-width: 990px) {
    .navbar-static-top {
      border-radius: 0; } }

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030; }
  @media (min-width: 990px) {
    .navbar-fixed-top,
    .navbar-fixed-bottom {
      border-radius: 0; } }

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px; }

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0; }

.navbar-brand {
  float: left;
  padding: 23.5px 25px;
  font-size: 20px;
  line-height: 28px;
  height: 75px; }
  .navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none; }
  .navbar-brand > img {
    display: block; }
  @media (min-width: 990px) {
    .navbar > .container .navbar-brand,
    .navbar > .container-fluid .navbar-brand {
      margin-left: -25px; } }

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 25px;
  padding: 9px 10px;
  margin-top: 20.5px;
  margin-bottom: 20.5px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px; }
  .navbar-toggle:focus {
    outline: 0; }
  .navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px; }
  .navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 990px) {
    .navbar-toggle {
      display: none; } }

.navbar-nav {
  margin: 11.75px -25px; }
  .navbar-nav > li > a,
  .navbar-nav > rubix-menu > li > a,
  .navbar-nav > rubix-nav-item > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 28px; }
  @media (max-width: 989px) {
    .navbar-nav .open .dropdown-menu {
      position: static;
      float: none;
      width: auto;
      margin-top: 0;
      background-color: transparent;
      border: 0;
      box-shadow: none; }
      .navbar-nav .open .dropdown-menu > li > a,
      .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px; }
      .navbar-nav .open .dropdown-menu > li > a {
        line-height: 28px; }
        .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
          background-image: none; } }
  @media (min-width: 990px) {
    .navbar-nav {
      float: left;
      margin: 0; }
      .navbar-nav > li,
      .navbar-nav > rubix-menu,
      .navbar-nav > rubix-nav-item {
        float: left; }
        .navbar-nav > li > a,
        .navbar-nav > li > li > a,
        .navbar-nav > rubix-menu > a,
        .navbar-nav > rubix-menu > li > a,
        .navbar-nav > rubix-nav-item > a,
        .navbar-nav > rubix-nav-item > li > a {
          padding-top: 23.5px;
          padding-bottom: 23.5px; } }

.navbar-form {
  margin-left: -25px;
  margin-right: -25px;
  padding: 10px 25px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 23px;
  margin-bottom: 23px; }
  @media (min-width: 990px) {
    .navbar-form .form-group {
      display: inline-block;
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .navbar-form .form-control-static {
      display: inline-block; }
    .navbar-form .input-group {
      display: inline-table;
      vertical-align: middle; }
      .navbar-form .input-group .input-group-addon,
      .navbar-form .input-group .input-group-btn,
      .navbar-form .input-group .form-control {
        width: auto; }
    .navbar-form .input-group > .form-control {
      width: 100%; }
    .navbar-form .control-label {
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .radio,
    .navbar-form .checkbox {
      display: inline-block;
      margin-top: 0;
      margin-bottom: 0;
      vertical-align: middle; }
      .navbar-form .radio label,
      .navbar-form .checkbox label {
        padding-left: 0; }
    .navbar-form .radio input[type="radio"],
    .navbar-form .checkbox input[type="checkbox"] {
      position: relative;
      margin-left: 0; }
    .navbar-form .has-feedback .form-control-feedback {
      top: 0; } }
  @media (max-width: 989px) {
    .navbar-form .form-group {
      margin-bottom: 5px; }
      .navbar-form .form-group:last-child {
        margin-bottom: 0; } }
  @media (min-width: 990px) {
    .navbar-form {
      width: auto;
      border: 0;
      margin-left: 0;
      margin-right: 0;
      padding-top: 0;
      padding-bottom: 0;
      -webkit-box-shadow: none;
      box-shadow: none; } }

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.navbar-btn {
  margin-top: 23px; }
  .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {
    margin-top: 27px; }
  .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
    margin-top: 29px; }

.navbar-text {
  margin-top: 23.5px;
  margin-bottom: 23.5px; }
  @media (min-width: 990px) {
    .navbar-text {
      float: left;
      margin-left: 25px;
      margin-right: 25px; } }

@media (min-width: 990px) {
  .navbar-left {
    float: left !important; }
  .navbar-right {
    float: right !important;
    margin-right: -25px; }
    .navbar-right ~ .navbar-right {
      margin-right: 0; } }

.navbar-default {
  background-color: #fff;
  border-color: #eeeeee; }
  .navbar-default .navbar-brand {
    color: #777; }
    .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
      color: #5e5e5e;
      background-color: transparent; }
  .navbar-default .navbar-text {
    color: #777; }
  .navbar-default .navbar-nav > li > a,
  .navbar-default .navbar-nav > rubix-menu > li > a,
  .navbar-default .navbar-nav > rubix-nav-item > li > a {
    color: #777; }
    .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus,
    .navbar-default .navbar-nav > rubix-menu > li > a:hover,
    .navbar-default .navbar-nav > rubix-menu > li > a:focus,
    .navbar-default .navbar-nav > rubix-nav-item > li > a:hover,
    .navbar-default .navbar-nav > rubix-nav-item > li > a:focus {
      color: #333;
      background-color: transparent; }
  .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus,
  .navbar-default .navbar-nav > rubix-menu > .active > a,
  .navbar-default .navbar-nav > rubix-menu > .active > a:hover,
  .navbar-default .navbar-nav > rubix-menu > .active > a:focus,
  .navbar-default .navbar-nav > rubix-nav-item > .active > a,
  .navbar-default .navbar-nav > rubix-nav-item > .active > a:hover,
  .navbar-default .navbar-nav > rubix-nav-item > .active > a:focus {
    color: #555;
    background-color: #eeeeee; }
  .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus,
  .navbar-default .navbar-nav > rubix-menu > .disabled > a,
  .navbar-default .navbar-nav > rubix-menu > .disabled > a:hover,
  .navbar-default .navbar-nav > rubix-menu > .disabled > a:focus,
  .navbar-default .navbar-nav > rubix-nav-item > .disabled > a,
  .navbar-default .navbar-nav > rubix-nav-item > .disabled > a:hover,
  .navbar-default .navbar-nav > rubix-nav-item > .disabled > a:focus {
    color: #ccc;
    background-color: transparent; }
  .navbar-default .navbar-toggle {
    border-color: #ddd; }
    .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
      background-color: #ddd; }
    .navbar-default .navbar-toggle .icon-bar {
      background-color: #888; }
  .navbar-default .navbar-collapse,
  .navbar-default .navbar-form {
    border-color: #eeeeee; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus,
  .navbar-default .navbar-nav > rubix-menu > .open > a,
  .navbar-default .navbar-nav > rubix-menu > .open > a:hover,
  .navbar-default .navbar-nav > rubix-menu > .open > a:focus {
    background-color: #eeeeee;
    color: #555; }
  @media (max-width: 989px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > li > a {
      color: #777; }
      .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus,
      .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > li > a:hover,
      .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > li > a:focus {
        color: #333;
        background-color: transparent; }
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .active > a,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .active > a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .active > a:focus {
      color: #555;
      background-color: #eeeeee; }
    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .disabled > a,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .disabled > a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu > rubix-menu-item > .disabled > a:focus {
      color: #ccc;
      background-color: transparent; } }
  .navbar-default .navbar-link {
    color: #777; }
    .navbar-default .navbar-link:hover {
      color: #333; }
  .navbar-default .btn-link {
    color: #777; }
    .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
      color: #333; }
    .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-default .btn-link:hover,
    fieldset[disabled] .navbar-default .btn-link:focus {
      color: #ccc; }

.navbar-inverse {
  background-color: #222;
  border-color: #090909; }
  .navbar-inverse .navbar-brand {
    color: #9d9d9d; }
    .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-text {
    color: #9d9d9d; }
  .navbar-inverse .navbar-nav > li > a,
  .navbar-inverse .navbar-nav > rubix-menu > li > a,
  .navbar-inverse .navbar-nav > rubix-nav-item > li > a {
    color: #9d9d9d; }
    .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus,
    .navbar-inverse .navbar-nav > rubix-menu > li > a:hover,
    .navbar-inverse .navbar-nav > rubix-menu > li > a:focus,
    .navbar-inverse .navbar-nav > rubix-nav-item > li > a:hover,
    .navbar-inverse .navbar-nav > rubix-nav-item > li > a:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus,
  .navbar-inverse .navbar-nav > rubix-menu > .active > a,
  .navbar-inverse .navbar-nav > rubix-menu > .active > a:hover,
  .navbar-inverse .navbar-nav > rubix-menu > .active > a:focus,
  .navbar-inverse .navbar-nav > rubix-nav-item > .active > a,
  .navbar-inverse .navbar-nav > rubix-nav-item > .active > a:hover,
  .navbar-inverse .navbar-nav > rubix-nav-item > .active > a:focus {
    color: #fff;
    background-color: #090909; }
  .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus,
  .navbar-inverse .navbar-nav > rubix-menu > .disabled > a,
  .navbar-inverse .navbar-nav > rubix-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav > rubix-menu > .disabled > a:focus,
  .navbar-inverse .navbar-nav > rubix-nav-item > .disabled > a,
  .navbar-inverse .navbar-nav > rubix-nav-item > .disabled > a:hover,
  .navbar-inverse .navbar-nav > rubix-nav-item > .disabled > a:focus {
    color: #444;
    background-color: transparent; }
  .navbar-inverse .navbar-toggle {
    border-color: #333; }
    .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
      background-color: #333; }
    .navbar-inverse .navbar-toggle .icon-bar {
      background-color: #fff; }
  .navbar-inverse .navbar-collapse,
  .navbar-inverse .navbar-form {
    border-color: #101010; }
  .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #090909;
    color: #fff; }
  @media (max-width: 989px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
      border-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
      color: #9d9d9d; }
      .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #fff;
        background-color: transparent; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
      color: #fff;
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
      color: #444;
      background-color: transparent; } }
  .navbar-inverse .navbar-link {
    color: #9d9d9d; }
    .navbar-inverse .navbar-link:hover {
      color: #fff; }
  .navbar-inverse .btn-link {
    color: #9d9d9d; }
    .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
      color: #fff; }
    .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-inverse .btn-link:hover,
    fieldset[disabled] .navbar-inverse .btn-link:focus {
      color: #444; }

.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 28px;
  list-style: none;
  background-color: #fff;
  border-radius: 4px; }
  .breadcrumb > li,
  .breadcrumb > rubix-breadcrumb-item,
  .breadcrumb > rubix-breadcrumb-item > li {
    display: inline-block; }
    .breadcrumb > li + li:before,
    .breadcrumb > li + rubix-breadcrumb-item:before,
    .breadcrumb > rubix-breadcrumb-item + li:before,
    .breadcrumb > rubix-breadcrumb-item + rubix-breadcrumb-item:before,
    .breadcrumb > rubix-breadcrumb-item > li + li:before,
    .breadcrumb > rubix-breadcrumb-item > li + rubix-breadcrumb-item:before {
      content: "/\A0";
      padding: 0 5px;
      padding-left: 10px;
      color: #ccc; }
  .breadcrumb > .active,
  .breadcrumb > rubix-breadcrumb-item > .active {
    color: #777777; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 28px 0;
  border-radius: 4px; }
  .pagination > li,
  .pagination > rubix-page-item > li {
    display: inline; }
    .pagination > li > a,
    .pagination > li > span,
    .pagination > rubix-page-item > li > a,
    .pagination > rubix-page-item > li > span {
      position: relative;
      float: left;
      padding: 6px 12px;
      line-height: 1.78571;
      text-decoration: none;
      color: #2EB398;
      background-color: #fff;
      border: 1px solid #ddd;
      margin-left: -1px; }
  .pagination > li:first-child > a,
  .pagination > li:first-child > span,
  .pagination > li:first-child > li > a,
  .pagination > li:first-child > li > span,
  .pagination > rubix-page-item:first-child > a,
  .pagination > rubix-page-item:first-child > span,
  .pagination > rubix-page-item:first-child > li > a,
  .pagination > rubix-page-item:first-child > li > span {
    margin-left: 0;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px; }
  .pagination > li:last-child > a,
  .pagination > li:last-child > span,
  .pagination > li:last-child > li > a,
  .pagination > li:last-child > li > span,
  .pagination > rubix-page-item:last-child > a,
  .pagination > rubix-page-item:last-child > span,
  .pagination > rubix-page-item:last-child > li > a,
  .pagination > rubix-page-item:last-child > li > span {
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px; }
  .pagination > li > a:hover, .pagination > li > a:focus,
  .pagination > li > span:hover,
  .pagination > li > span:focus,
  .pagination > rubix-page-item > li > a:hover,
  .pagination > rubix-page-item > li > a:focus,
  .pagination > rubix-page-item > li > span:hover,
  .pagination > rubix-page-item > li > span:focus {
    z-index: 2;
    color: #2e6b5e;
    background-color: #eeeeee;
    border-color: #ddd; }
  .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
  .pagination > .active > span,
  .pagination > .active > span:hover,
  .pagination > .active > span:focus,
  .pagination > rubix-page-item > .active > a,
  .pagination > rubix-page-item > .active > a:hover,
  .pagination > rubix-page-item > .active > a:focus,
  .pagination > rubix-page-item > .active > span,
  .pagination > rubix-page-item > .active > span:hover,
  .pagination > rubix-page-item > .active > span:focus {
    z-index: 3;
    color: #fff;
    background-color: #428bca;
    border-color: #428bca;
    cursor: default; }
  .pagination > .disabled > span,
  .pagination > .disabled > span:hover,
  .pagination > .disabled > span:focus,
  .pagination > .disabled > a,
  .pagination > .disabled > a:hover,
  .pagination > .disabled > a:focus,
  .pagination > rubix-page-item .disabled > span,
  .pagination > rubix-page-item .disabled > span:hover,
  .pagination > rubix-page-item .disabled > span:focus,
  .pagination > rubix-page-item .disabled > a,
  .pagination > rubix-page-item .disabled > a:hover,
  .pagination > rubix-page-item .disabled > a:focus {
    pointer-events: none;
    color: #777777;
    background-color: #fff;
    border-color: #ddd;
    cursor: not-allowed; }

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333; }

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px; }

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px; }

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5; }

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.pager {
  padding-left: 0;
  margin: 28px 0;
  list-style: none;
  text-align: center; }
  .pager:before, .pager:after {
    content: " ";
    display: table; }
  .pager:after {
    clear: both; }
  .pager li {
    display: inline; }
    .pager li > a,
    .pager li > span {
      display: inline-block;
      padding: 5px 14px;
      background-color: #fff;
      border: 1px solid #ddd;
      border-radius: 15px; }
    .pager li > a:hover,
    .pager li > a:focus {
      text-decoration: none;
      background-color: #eeeeee; }
  .pager .next > a,
  .pager .next > span {
    float: right; }
  .pager .previous > a,
  .pager .previous > span {
    float: left; }
  .pager .disabled > a,
  .pager .disabled > a:hover,
  .pager .disabled > a:focus,
  .pager .disabled > span {
    color: #777777;
    background-color: #fff;
    cursor: not-allowed; }

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em; }
  .label:empty {
    display: none; }
  .btn .label {
    position: relative;
    top: -1px; }

a.label:hover, a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.label-default {
  background-color: #777777; }
  .label-default[href]:hover, .label-default[href]:focus {
    background-color: #5e5e5e; }

.label-primary {
  background-color: #428bca; }
  .label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #3071a9; }

.label-success {
  background-color: #5cb85c; }
  .label-success[href]:hover, .label-success[href]:focus {
    background-color: #449d44; }

.label-info {
  background-color: #5bc0de; }
  .label-info[href]:hover, .label-info[href]:focus {
    background-color: #31b0d5; }

.label-warning {
  background-color: #f0ad4e; }
  .label-warning[href]:hover, .label-warning[href]:focus {
    background-color: #ec971f; }

.label-danger {
  background-color: #d9534f; }
  .label-danger[href]:hover, .label-danger[href]:focus {
    background-color: #c9302c; }

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px; }
  .badge:empty {
    display: none; }
  .btn .badge {
    position: relative;
    top: -1px; }
  .btn-xs .badge, .btn-group-xs > .btn .badge,
  .btn-group-xs > .btn .badge {
    top: 0;
    padding: 1px 5px; }
  .list-group-item.active .badge,
  .nav-pills > .active > a .badge {
    color: #2EB398;
    background-color: #fff; }
  .list-group-item .badge {
    top: 3px;
    float: right;
    position: relative; }
  .list-group-item .badge + .badge {
    margin-right: 5px; }
  .nav-pills > li > a > .badge {
    margin-left: 3px; }

a.badge:hover, a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee; }
  .jumbotron h1,
  .jumbotron .h1 {
    color: inherit; }
  .jumbotron p {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 200; }
  .jumbotron > hr {
    border-top-color: #d5d5d5; }
  .container .jumbotron,
  .container-fluid .jumbotron {
    border-radius: 6px;
    padding-left: 25px;
    padding-right: 25px; }
  .jumbotron .container {
    max-width: 100%; }
  @media screen and (min-width: 990px) {
    .jumbotron {
      padding-top: 48px;
      padding-bottom: 48px; }
      .container .jumbotron,
      .container-fluid .jumbotron {
        padding-left: 60px;
        padding-right: 60px; }
      .jumbotron h1,
      .jumbotron .h1 {
        font-size: 72px; } }

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 28px;
  line-height: 1.78571;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out; }
  .thumbnail > img,
  .thumbnail a > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .thumbnail .caption {
    padding: 9px;
    color: #333333; }

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #2EB398; }

.alert {
  padding: 15px;
  margin-bottom: 28px;
  border: 1px solid transparent;
  border-radius: 4px; }
  .alert h4 {
    margin-top: 0;
    color: inherit; }
  .alert .alert-link {
    font-weight: bold; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

.alert-dismissable,
.alert-dismissible {
  padding-right: 35px; }
  .alert-dismissable .close,
  .alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit; }

.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .alert-success hr {
    border-top-color: #c9e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6e1ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7e1b5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9c0; }
  .alert-danger .alert-link {
    color: #843534; }

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0; }
  to {
    background-position: 0 0; } }

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0; }
  to {
    background-position: 0 0; } }

.progress {
  overflow: hidden;
  height: 28px;
  margin-bottom: 28px;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 28px;
  color: #fff;
  text-align: center;
  background-color: #428bca;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease; }

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px; }

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite; }

.progress-bar-success {
  background-color: #5cb85c; }
  .progress-striped .progress-bar-success {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-info {
  background-color: #5bc0de; }
  .progress-striped .progress-bar-info {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-warning {
  background-color: #f0ad4e; }
  .progress-striped .progress-bar-warning {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-bar-danger {
  background-color: #d9534f; }
  .progress-striped .progress-bar-danger {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }

.progress-collapse-bottom {
  margin-bottom: 0; }

.media {
  margin-top: 15px; }
  .media:first-child {
    margin-top: 0; }

.media,
.media-body {
  zoom: 1;
  overflow: hidden; }

.media-body {
  width: 10000px; }

.media-object {
  display: block; }
  .media-object.img-thumbnail {
    max-width: none; }

.media-right,
.media > .pull-right {
  padding-left: 10px; }

.media-left,
.media > .pull-left {
  padding-right: 10px; }

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top; }

.media-middle {
  vertical-align: middle; }

.media-bottom {
  vertical-align: bottom; }

.media-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.media-list {
  padding-left: 0;
  list-style: none; }

.list-group {
  margin-bottom: 20px;
  padding-left: 0; }

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd; }

.list-group > .list-group-item:first-child {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px; }

.list-group > .list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px; }

.list-group > rubix-list-group-item:first-child > .list-group-item {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px; }

.list-group > rubix-list-group-item:last-child > .list-group-item {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px; }

a.list-group-item,
button.list-group-item {
  color: #555; }
  a.list-group-item .list-group-item-heading,
  button.list-group-item .list-group-item-heading {
    color: #333; }
  a.list-group-item:hover, a.list-group-item:focus,
  button.list-group-item:hover,
  button.list-group-item:focus {
    text-decoration: none;
    color: #555;
    background-color: #f5f5f5; }

button.list-group-item {
  width: 100%;
  text-align: left; }

.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed; }
  .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
    color: inherit; }
  .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
    color: #777777; }

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #428bca;
  border-color: #428bca; }
  .list-group-item.active .list-group-item-heading,
  .list-group-item.active .list-group-item-heading > small,
  .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
  .list-group-item.active:hover .list-group-item-heading > small,
  .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
  .list-group-item.active:focus .list-group-item-heading > small,
  .list-group-item.active:focus .list-group-item-heading > .small {
    color: inherit; }
  .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
    color: #e1edf7; }

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8; }

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d; }
  a.list-group-item-success .list-group-item-heading,
  button.list-group-item-success .list-group-item-heading {
    color: inherit; }
  a.list-group-item-success:hover, a.list-group-item-success:focus,
  button.list-group-item-success:hover,
  button.list-group-item-success:focus {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
  button.list-group-item-success.active,
  button.list-group-item-success.active:hover,
  button.list-group-item-success.active:focus {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d; }

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7; }

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f; }
  a.list-group-item-info .list-group-item-heading,
  button.list-group-item-info .list-group-item-heading {
    color: inherit; }
  a.list-group-item-info:hover, a.list-group-item-info:focus,
  button.list-group-item-info:hover,
  button.list-group-item-info:focus {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
  button.list-group-item-info.active,
  button.list-group-item-info.active:hover,
  button.list-group-item-info.active:focus {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f; }

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b; }
  a.list-group-item-warning .list-group-item-heading,
  button.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  a.list-group-item-warning:hover, a.list-group-item-warning:focus,
  button.list-group-item-warning:hover,
  button.list-group-item-warning:focus {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
  button.list-group-item-warning.active,
  button.list-group-item-warning.active:hover,
  button.list-group-item-warning.active:focus {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b; }

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442; }
  a.list-group-item-danger .list-group-item-heading,
  button.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  a.list-group-item-danger:hover, a.list-group-item-danger:focus,
  button.list-group-item-danger:hover,
  button.list-group-item-danger:focus {
    color: #a94442;
    background-color: #ebcccc; }
  a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
  button.list-group-item-danger.active,
  button.list-group-item-danger.active:hover,
  button.list-group-item-danger.active:focus {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442; }

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3; }

.panel {
  margin-bottom: 28px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }

.panel-body {
  padding: 28px; }
  .panel-body:before, .panel-body:after {
    content: " ";
    display: table; }
  .panel-body:after {
    clear: both; }

.panel-heading {
  padding: 14px 28px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px; }
  .panel-heading > .dropdown .dropdown-toggle {
    color: inherit; }

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: inherit; }
  .panel-title > a,
  .panel-title > small,
  .panel-title > .small,
  .panel-title > small > a,
  .panel-title > .small > a {
    color: inherit; }

.panel-footer {
  padding: 14px 28px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }

.panel > .list-group,
.panel > .panel-collapse > .list-group,
.panel > rubix-list-group > .list-group {
  margin-bottom: 0; }
  .panel > .list-group .list-group-item,
  .panel > .panel-collapse > .list-group .list-group-item,
  .panel > rubix-list-group > .list-group .list-group-item {
    border-width: 1px 0;
    border-radius: 0; }

.panel > rubix-list-group > .list-group:first-child rubix-list-group-item:first-child .list-group-item {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.panel > rubix-list-group > .list-group:last-child rubix-list-group-item:last-child .list-group-item {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }

.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px; }

.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }

.panel .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0; }

.list-group + .panel-footer {
  border-top-width: 0; }

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0; }
  .panel > .table caption,
  .panel > .table-responsive > .table caption,
  .panel > .panel-collapse > .table caption {
    padding-left: 28px;
    padding-right: 28px; }

.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px; }
  .panel > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table:first-child > tbody:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
      border-top-left-radius: 3px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
      border-top-right-radius: 3px; }

.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px; }
  .panel > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table:last-child > tfoot:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
      border-bottom-left-radius: 3px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
      border-bottom-right-radius: 3px; }

.panel > .panel-body + .table,
.panel > rubix-bpanel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > rubix-bpanel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table + rubix-bpanel-body,
.panel > .table-responsive + .panel-body,
.panel > .table-responsive + rubix-bpanel-body {
  border-top: 1px solid #ddd; }

.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0; }

.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0; }
  .panel > .table-bordered > thead > tr > th:first-child,
  .panel > .table-bordered > thead > tr > td:first-child,
  .panel > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-bordered > tfoot > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0; }
  .panel > .table-bordered > thead > tr > th:last-child,
  .panel > .table-bordered > thead > tr > td:last-child,
  .panel > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-bordered > tfoot > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0; }
  .panel > .table-bordered > thead > tr:first-child > td,
  .panel > .table-bordered > thead > tr:first-child > th,
  .panel > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-bordered > tbody > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
    border-bottom: 0; }
  .panel > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-bordered > tfoot > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
    border-bottom: 0; }

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0; }

.panel-group {
  margin-bottom: 28px; }
  .panel-group .collapse-link {
    height: 42px;
    display: block;
    line-height: 42px;
    margin-top: -14px;
    margin-bottom: -14px; }
  .panel-group .panel {
    margin-bottom: 0;
    border-radius: 4px; }
    .panel-group .panel + .panel {
      margin-top: 5px; }
  .panel-group rubix-bpanel {
    margin-bottom: 0;
    border-radius: 4px; }
    .panel-group rubix-bpanel + rubix-bpanel > .panel {
      margin-top: 5px; }
  .panel-group .panel-heading {
    border-bottom: 0; }
    .panel-group .panel-heading + .panel-collapse > .panel-body,
    .panel-group .panel-heading + .panel-collapse > .list-group {
      border-top: 1px solid #ddd; }
  .panel-group .panel-footer {
    border-top: 0; }
    .panel-group .panel-footer + .panel-collapse .panel-body {
      border-bottom: 1px solid #ddd; }

.panel-default {
  border-color: #ddd; }
  .panel-default > .panel-heading {
    color: #333333;
    background-color: #f5f5f5;
    border-color: #ddd; }
    .panel-default > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ddd; }
    .panel-default > .panel-heading .badge {
      color: #f5f5f5;
      background-color: #333333; }
  .panel-default > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ddd; }

.panel-primary {
  border-color: #428bca; }
  .panel-primary > .panel-heading {
    color: #fff;
    background-color: #428bca;
    border-color: #428bca; }
    .panel-primary > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #428bca; }
    .panel-primary > .panel-heading .badge {
      color: #428bca;
      background-color: #fff; }
  .panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #428bca; }

.panel-success {
  border-color: #d6e9c6; }
  .panel-success > .panel-heading {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6; }
    .panel-success > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #d6e9c6; }
    .panel-success > .panel-heading .badge {
      color: #dff0d8;
      background-color: #3c763d; }
  .panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #d6e9c6; }

.panel-info {
  border-color: #bce8f1; }
  .panel-info > .panel-heading {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1; }
    .panel-info > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #bce8f1; }
    .panel-info > .panel-heading .badge {
      color: #d9edf7;
      background-color: #31708f; }
  .panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #bce8f1; }

.panel-warning {
  border-color: #faebcc; }
  .panel-warning > .panel-heading {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc; }
    .panel-warning > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #faebcc; }
    .panel-warning > .panel-heading .badge {
      color: #fcf8e3;
      background-color: #8a6d3b; }
  .panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #faebcc; }

.panel-danger {
  border-color: #ebccd1; }
  .panel-danger > .panel-heading {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1; }
    .panel-danger > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ebccd1; }
    .panel-danger > .panel-heading .badge {
      color: #f2dede;
      background-color: #a94442; }
  .panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ebccd1; }

.panel-title > a {
  height: 42px;
  display: block;
  line-height: 42px;
  margin-top: -14px;
  margin-bottom: -14px; }

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0; }

.embed-responsive-16by9 {
  padding-bottom: 56.25%; }

.embed-responsive-4by3 {
  padding-bottom: 75%; }

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
  .well blockquote {
    border-color: #ddd;
    border-color: rgba(0, 0, 0, 0.15); }

.well-lg {
  padding: 24px;
  border-radius: 6px; }

.well-sm {
  padding: 9px;
  border-radius: 3px; }

.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20); }
  .close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: 0.5;
    filter: alpha(opacity=50); }

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

.modal-open {
  overflow: hidden; }

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0; }
  .modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform 0.3s ease-out;
    -moz-transition: -moz-transform 0.3s ease-out;
    -o-transition: -o-transform 0.3s ease-out;
    transition: transform 0.3s ease-out; }
  .modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px; }

.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0;
    filter: alpha(opacity=0); }
  .modal-backdrop.in {
    opacity: 0.5;
    filter: alpha(opacity=50); }

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5; }
  .modal-header:before, .modal-header:after {
    content: " ";
    display: table; }
  .modal-header:after {
    clear: both; }

.modal-header .close {
  margin-top: -2px; }

.modal-title {
  margin: 0;
  line-height: 1.78571; }

.modal-body {
  position: relative;
  padding: 15px; }

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5; }
  .modal-footer:before, .modal-footer:after {
    content: " ";
    display: table; }
  .modal-footer:after {
    clear: both; }
  .modal-footer .btn + .btn {
    margin-left: 5px;
    margin-bottom: 0; }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px; }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 990px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
  .modal-sm {
    width: 300px; } }

@media (min-width: 1152px) {
  .modal-lg {
    width: 900px; } }

.modal-container {
  position: relative; }

.modal-container .modal, .modal-container .modal-backdrop {
  position: absolute; }

body > .modal-backdrop {
  z-index: -1; }

.static-modal .modal {
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 1;
  position: relative; }

.modal-container {
  position: relative; }

.modal-container .modal, .modal-container .modal-backdrop {
  position: absolute; }

.tooltip {
  position: absolute;
  z-index: 1000000000000000013287555072;
  display: block;
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.78571;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 14px;
  opacity: 0;
  filter: alpha(opacity=0); }
  .tooltip.in {
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .tooltip.top {
    margin-top: -3px;
    padding: 5px 0; }
  .tooltip.right {
    margin-left: 3px;
    padding: 0 5px; }
  .tooltip.bottom {
    margin-top: 3px;
    padding: 5px 0; }
  .tooltip.left {
    margin-left: -3px;
    padding: 0 5px; }

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 4px; }

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000; }

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000; }

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.78571;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 16px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
  .popover.top {
    margin-top: -10px; }
  .popover.right {
    margin-left: 10px; }
  .popover.bottom {
    margin-top: 10px; }
  .popover.left {
    margin-left: -10px; }

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0; }

.popover-content {
  padding: 9px 14px; }

.popover > .arrow, .popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover > .arrow {
  border-width: 11px; }

.popover > .arrow:after {
  border-width: 10px;
  content: ""; }

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px; }
  .popover.top > .arrow:after {
    content: " ";
    bottom: 1px;
    margin-left: -10px;
    border-bottom-width: 0;
    border-top-color: #fff; }

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25); }
  .popover.right > .arrow:after {
    content: " ";
    left: 1px;
    bottom: -10px;
    border-left-width: 0;
    border-right-color: #fff; }

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px; }
  .popover.bottom > .arrow:after {
    content: " ";
    top: 1px;
    margin-left: -10px;
    border-top-width: 0;
    border-bottom-color: #fff; }

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25); }
  .popover.left > .arrow:after {
    content: " ";
    right: 1px;
    border-right-width: 0;
    border-left-color: #fff;
    bottom: -10px; }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .carousel-inner > .item {
    display: none;
    position: relative;
    -webkit-transition: 0.6s ease-in-out left;
    -o-transition: 0.6s ease-in-out left;
    transition: 0.6s ease-in-out left; }
    .carousel-inner > .item > img,
    .carousel-inner > .item > a > img {
      display: block;
      max-width: 100%;
      height: auto;
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .item {
        -webkit-transition: -webkit-transform 0.6s ease-in-out;
        -moz-transition: -moz-transform 0.6s ease-in-out;
        -o-transition: -o-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        -moz-perspective: 1000px;
        perspective: 1000px; }
        .carousel-inner > .item.next, .carousel-inner > .item.active.right {
          -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.prev, .carousel-inner > .item.active.left {
          -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {
          -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
          left: 0; } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0); }
  .carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
  .carousel-control.right {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
  .carousel-control:hover, .carousel-control:focus {
    outline: 0;
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .carousel-control .icon-prev,
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    z-index: 5;
    display: inline-block; }
  .carousel-control .icon-prev,
  .carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 20px;
    height: 20px;
    line-height: 1;
    font-family: serif; }
  .carousel-control .icon-prev:before {
    content: '\2039'; }
  .carousel-control .icon-next:before {
    content: '\203a'; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    border: 1px solid #fff;
    border-radius: 10px;
    cursor: pointer;
    background-color: #000 \9;
    background-color: rgba(0, 0, 0, 0); }
  .carousel-indicators .active {
    margin: 0;
    width: 12px;
    height: 12px;
    background-color: #fff; }

.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-caption .btn {
    text-shadow: none; }

@media screen and (min-width: 990px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px; }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px; }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px; }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px; }
  .carousel-indicators {
    bottom: 20px; } }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-right {
  float: right !important; }

.pull-left {
  float: left !important; }

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

@-ms-viewport {
  width: device-width; }

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 989px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 989px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 989px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 989px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1366px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1366px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1366px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1366px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 989px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1366px) {
  .hidden-lg {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table !important; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

.form-group {
  position: relative; }
  .form-group .control-label ~ .form-control-feedback {
    top: 30px; }
  .form-group .control-label.sr-only ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="incrementHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="incrementHours"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="incrementMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="incrementMinutes"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="decrementHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="decrementHours"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="decrementMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="decrementMinutes"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="showHours"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="showHours"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="showMinutes"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="showMinutes"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="togglePeriod"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="togglePeriod"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="clear"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="clear"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.btn[data-action="today"]::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.btn[data-action="today"]::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget .control-label.picker-switch::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget .form-group .control-label.picker-switch::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget table th.control-label.prev::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget table .form-group th.control-label.prev::after ~ .form-control-feedback, .form-group .bootstrap-datetimepicker-widget table th.control-label.next::after ~ .form-control-feedback, .bootstrap-datetimepicker-widget table .form-group th.control-label.next::after ~ .form-control-feedback {
    top: 0px; }
  .form-group [class^='col-'] .form-control-feedback {
    right: 28px; }

.form-inline .form-group .form-control-feedback {
  top: 30px; }
  @media (min-width: 990px) {
    .form-inline .form-group .form-control-feedback {
      top: 0px; } }

.form-horizontal .form-group .form-control-feedback {
  top: 0px; }

.form-control {
  color: #444;
  height: 30px;
  padding: 0 12px;
  box-shadow: none !important;
  border-width: 2px;
  letter-spacing: 0.5px;
  border-radius: 0 !important; }
  .form-control:focus {
    box-shadow: none; }
  .form-control.plain {
    border-top: none;
    border-left: none;
    border-right: none; }

.input-group-addon {
  border: none;
  color: #011424;
  border-radius: 0 !important; }

.form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px !important; }

.input-group > .form-control-feedback {
  top: 0; }

select[multiple],
select[size] {
  padding: 12px; }

input[type="file"] {
  display: block;
  line-height: 0px; }

.help-block {
  color: #bbb; }

.form-control.inline, .help-block.inline {
  margin: 0;
  width: auto;
  margin-right: 5px;
  display: inline-block; }

@media (min-width: 990px) {
  .form-horizontal .control-label {
    padding: 0;
    line-height: 30px; } }

.input-group-addon.plain {
  padding: 0;
  border: none;
  background: none; }
  .input-group-addon.plain > button {
    height: 30px;
    border-radius: 0; }

.form-control-static {
  padding: 0;
  line-height: 30px; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn, .form-horizontal .form-group-lg .form-control, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px; }

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn, .form-horizontal .form-group-sm .form-control, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn {
  height: 25px !important;
  padding-top: 2px;
  margin-top: 8px; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn, .form-horizontal .form-group-lg .form-control, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn, .form-horizontal .form-group-lg .form-control, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {
  height: 50px !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important; }

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  padding-top: 3px;
  padding-bottom: 3px; }

.list-group-item:hover, .list-group-item:focus {
  padding: 10px 15px;
  color: #555 !important;
  border: 1px solid #DDD !important;
  background-color: #F5F5F5 !important; }

.form-inline .control-label {
  display: inline-block; }

rubix-input-group {
  display: inline-block;
  position: relative; }

.radio input[type='radio'],
.radio-inline input[type='radio'] {
  margin-top: 6px; }

.checkbox input[type='checkbox'],
.checkbox-inline input[type='checkbox'] {
  margin-top: 6px; }

.panel-xs-1 {
  width: 8.33333%; }

.panel-xs-2 {
  width: 16.66667%; }

.panel-xs-3 {
  width: 25%; }

.panel-xs-4 {
  width: 33.33333%; }

.panel-xs-5 {
  width: 41.66667%; }

.panel-xs-6 {
  width: 50%; }

.panel-xs-7 {
  width: 58.33333%; }

.panel-xs-8 {
  width: 66.66667%; }

.panel-xs-9 {
  width: 75%; }

.panel-xs-10 {
  width: 83.33333%; }

.panel-xs-11 {
  width: 91.66667%; }

.panel-xs-12 {
  width: 100%; }

@media (min-width: 990px) {
  .panel-sm-1 {
    width: 8.33333%; }
  .panel-sm-2 {
    width: 16.66667%; }
  .panel-sm-3 {
    width: 25%; }
  .panel-sm-4 {
    width: 33.33333%; }
  .panel-sm-5 {
    width: 41.66667%; }
  .panel-sm-6 {
    width: 50%; }
  .panel-sm-7 {
    width: 58.33333%; }
  .panel-sm-8 {
    width: 66.66667%; }
  .panel-sm-9 {
    width: 75%; }
  .panel-sm-10 {
    width: 83.33333%; }
  .panel-sm-11 {
    width: 91.66667%; }
  .panel-sm-12 {
    width: 100%; } }

@media (min-width: 1152px) {
  .panel-md-1 {
    width: 8.33333%; }
  .panel-md-2 {
    width: 16.66667%; }
  .panel-md-3 {
    width: 25%; }
  .panel-md-4 {
    width: 33.33333%; }
  .panel-md-5 {
    width: 41.66667%; }
  .panel-md-6 {
    width: 50%; }
  .panel-md-7 {
    width: 58.33333%; }
  .panel-md-8 {
    width: 66.66667%; }
  .panel-md-9 {
    width: 75%; }
  .panel-md-10 {
    width: 83.33333%; }
  .panel-md-11 {
    width: 91.66667%; }
  .panel-md-12 {
    width: 100%; } }

@media (min-width: 1366px) {
  .panel-lg-1 {
    width: 8.33333%; }
  .panel-lg-2 {
    width: 16.66667%; }
  .panel-lg-3 {
    width: 25%; }
  .panel-lg-4 {
    width: 33.33333%; }
  .panel-lg-5 {
    width: 41.66667%; }
  .panel-lg-6 {
    width: 50%; }
  .panel-lg-7 {
    width: 58.33333%; }
  .panel-lg-8 {
    width: 66.66667%; }
  .panel-lg-9 {
    width: 75%; }
  .panel-lg-10 {
    width: 83.33333%; }
  .panel-lg-11 {
    width: 91.66667%; }
  .panel-lg-12 {
    width: 100%; } }

.panel-collapse-bottom {
  margin-bottom: 0 !important; }

.panel-gutter-bottom {
  margin-bottom: 56px !important; }

.rubix-panel-container-with-controls {
  position: relative; }

.rubix-panel-container {
  overflow: hidden;
  background: white;
  position: relative;
  border-radius: 8px;
  margin-bottom: 28px; }
  .rubix-panel-container.noOverflow {
    overflow: auto; }

html.no-touchevents .rubix-panel-container-with-controls:hover > .rubix-panel-controls, html.no-touchevents .rubix-panel-container-with-controls:focus > .rubix-panel-controls, html.no-touchevents .rubix-panel-container-with-controls.active > .rubix-panel-controls {
  top: -22.4px; }

.rubix-panel-controls {
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  top: 0;
  z-index: 0;
  background: white;
  position: absolute;
  color: #011424;
  right: 14px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 0px 14px 5px 14px; }

.rubix-panel-controls button {
  top: -2px;
  padding: 0;
  border: none;
  opacity: 0.5;
  color: inherit;
  background: none;
  position: relative; }
  .rubix-panel-controls button:hover, .rubix-panel-controls button:focus, .rubix-panel-controls button:active, .rubix-panel-controls button:active:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    border: none;
    outline: none;
    color: inherit;
    background: none; }

.rubix-panel-controls button .rubix-icon {
  font-size: 14px; }

.rubix-panel-controls > button ~ button,
.rubix-panel-controls > rubix-button ~ rubix-button {
  padding-left: 10px; }

.rubix-panel {
  position: relative; }

.rubix-panel-header, rubix-panel-header {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px; }
  .rubix-panel-header[class*='bg-'], rubix-panel-header[class*='bg-'] {
    margin-bottom: 14px; }
  .rubix-panel-header ~ .rubix-panel-body,
  .rubix-panel-header ~ rubix-panel-body > .rubix-panel-body, rubix-panel-header ~ .rubix-panel-body,
  rubix-panel-header ~ rubix-panel-body > .rubix-panel-body {
    padding-top: 0; }

.rubix-panel-body {
  min-height: 35px;
  padding-top: 28px; }

.rubix-panel-footer, rubix-panel-footer {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px; }
  .rubix-panel-footer[class*='bg-'], rubix-panel-footer[class*='bg-'] {
    margin-top: 14px; }

.rubix-panel-header div.tab-container, .rubix-panel-header rubix-nav, .rubix-panel-footer div.tab-container, .rubix-panel-footer rubix-nav, .rubix-panel-left div.tab-container, .rubix-panel-left rubix-nav, .rubix-panel-right div.tab-container, .rubix-panel-right rubix-nav {
  width: 100%;
  display: table; }

.rubix-panel-header .nav, .rubix-panel-footer .nav, .rubix-panel-left .nav, .rubix-panel-right .nav {
  border: none;
  display: table-row; }
  .rubix-panel-header .nav:before, .rubix-panel-header .nav:after, .rubix-panel-footer .nav:before, .rubix-panel-footer .nav:after, .rubix-panel-left .nav:before, .rubix-panel-left .nav:after, .rubix-panel-right .nav:before, .rubix-panel-right .nav:after {
    display: none; }

.rubix-panel-header .nav rubix-menu,
.rubix-panel-header .nav rubix-nav-item,
.rubix-panel-header .nav > li, .rubix-panel-footer .nav rubix-menu,
.rubix-panel-footer .nav rubix-nav-item,
.rubix-panel-footer .nav > li, .rubix-panel-left .nav rubix-menu,
.rubix-panel-left .nav rubix-nav-item,
.rubix-panel-left .nav > li, .rubix-panel-right .nav rubix-menu,
.rubix-panel-right .nav rubix-nav-item,
.rubix-panel-right .nav > li {
  display: table-cell;
  float: none;
  margin: 0;
  vertical-align: middle; }

.rubix-panel-header .nav > li, .rubix-panel-footer .nav > li, .rubix-panel-left .nav > li, .rubix-panel-right .nav > li {
  width: 1%; }

.rubix-panel-header .nav rubix-menu > li,
.rubix-panel-header .nav rubix-nav-item > li, .rubix-panel-footer .nav rubix-menu > li,
.rubix-panel-footer .nav rubix-nav-item > li, .rubix-panel-left .nav rubix-menu > li,
.rubix-panel-left .nav rubix-nav-item > li, .rubix-panel-right .nav rubix-menu > li,
.rubix-panel-right .nav rubix-nav-item > li {
  width: 100%; }

.rubix-panel-header .nav rubix-menu > li > a,
.rubix-panel-header .nav rubix-nav-item > li > a,
.rubix-panel-header .nav > li > a, .rubix-panel-footer .nav rubix-menu > li > a,
.rubix-panel-footer .nav rubix-nav-item > li > a,
.rubix-panel-footer .nav > li > a, .rubix-panel-left .nav rubix-menu > li > a,
.rubix-panel-left .nav rubix-nav-item > li > a,
.rubix-panel-left .nav > li > a, .rubix-panel-right .nav rubix-menu > li > a,
.rubix-panel-right .nav rubix-nav-item > li > a,
.rubix-panel-right .nav > li > a {
  margin: 0;
  width: 100.1%;
  color: inherit;
  opacity: 0.8;
  line-height: 3;
  border-color: transparent;
  outline: 1px solid inherit;
  border-right: 1px solid rgba(0, 0, 0, 0.07); }

.rubix-panel-header .nav > li > a, .rubix-panel-footer .nav > li > a, .rubix-panel-left .nav > li > a, .rubix-panel-right .nav > li > a {
  outline: none; }

.rubix-panel-header .nav rubix-menu:not(:first-child):not(:last-child) > li > a,
.rubix-panel-header .nav rubix-nav-item:not(:first-child):not(:last-child) > li > a,
.rubix-panel-header .nav > li:not(:first-child):not(:last-child) > a, .rubix-panel-footer .nav rubix-menu:not(:first-child):not(:last-child) > li > a,
.rubix-panel-footer .nav rubix-nav-item:not(:first-child):not(:last-child) > li > a,
.rubix-panel-footer .nav > li:not(:first-child):not(:last-child) > a, .rubix-panel-left .nav rubix-menu:not(:first-child):not(:last-child) > li > a,
.rubix-panel-left .nav rubix-nav-item:not(:first-child):not(:last-child) > li > a,
.rubix-panel-left .nav > li:not(:first-child):not(:last-child) > a, .rubix-panel-right .nav rubix-menu:not(:first-child):not(:last-child) > li > a,
.rubix-panel-right .nav rubix-nav-item:not(:first-child):not(:last-child) > li > a,
.rubix-panel-right .nav > li:not(:first-child):not(:last-child) > a {
  border-radius: 0; }

.rubix-panel-header .nav rubix-menu:last-child,
.rubix-panel-header .nav rubix-nav-item:last-child, .rubix-panel-footer .nav rubix-menu:last-child,
.rubix-panel-footer .nav rubix-nav-item:last-child, .rubix-panel-left .nav rubix-menu:last-child,
.rubix-panel-left .nav rubix-nav-item:last-child, .rubix-panel-right .nav rubix-menu:last-child,
.rubix-panel-right .nav rubix-nav-item:last-child {
  border-color: transparent; }

.rubix-panel-header .nav rubix-menu > li > a:hover,
.rubix-panel-header .nav rubix-menu > li > a:focus,
.rubix-panel-header .nav rubix-nav-item > li > a:hover,
.rubix-panel-header .nav rubix-nav-item > li > a:focus,
.rubix-panel-header .nav > li > a:hover,
.rubix-panel-header .nav > li > a:focus, .rubix-panel-footer .nav rubix-menu > li > a:hover,
.rubix-panel-footer .nav rubix-menu > li > a:focus,
.rubix-panel-footer .nav rubix-nav-item > li > a:hover,
.rubix-panel-footer .nav rubix-nav-item > li > a:focus,
.rubix-panel-footer .nav > li > a:hover,
.rubix-panel-footer .nav > li > a:focus, .rubix-panel-left .nav rubix-menu > li > a:hover,
.rubix-panel-left .nav rubix-menu > li > a:focus,
.rubix-panel-left .nav rubix-nav-item > li > a:hover,
.rubix-panel-left .nav rubix-nav-item > li > a:focus,
.rubix-panel-left .nav > li > a:hover,
.rubix-panel-left .nav > li > a:focus, .rubix-panel-right .nav rubix-menu > li > a:hover,
.rubix-panel-right .nav rubix-menu > li > a:focus,
.rubix-panel-right .nav rubix-nav-item > li > a:hover,
.rubix-panel-right .nav rubix-nav-item > li > a:focus,
.rubix-panel-right .nav > li > a:hover,
.rubix-panel-right .nav > li > a:focus {
  opacity: 1;
  background: transparent; }

.rubix-panel-header .nav rubix-menu > li.active > a,
.rubix-panel-header .nav rubix-nav-item > li.active > a,
.rubix-panel-header .nav > li.active > a, .rubix-panel-footer .nav rubix-menu > li.active > a,
.rubix-panel-footer .nav rubix-nav-item > li.active > a,
.rubix-panel-footer .nav > li.active > a, .rubix-panel-left .nav rubix-menu > li.active > a,
.rubix-panel-left .nav rubix-nav-item > li.active > a,
.rubix-panel-left .nav > li.active > a, .rubix-panel-right .nav rubix-menu > li.active > a,
.rubix-panel-right .nav rubix-nav-item > li.active > a,
.rubix-panel-right .nav > li.active > a {
  opacity: 1;
  background: white;
  color: #011424; }

.rubix-panel-header .plain.nav rubix-menu > li > a,
.rubix-panel-header .plain.nav rubix-nav-item > li > a,
.rubix-panel-header .plain.nav > li > a, .rubix-panel-footer .plain.nav rubix-menu > li > a,
.rubix-panel-footer .plain.nav rubix-nav-item > li > a,
.rubix-panel-footer .plain.nav > li > a, .rubix-panel-left .plain.nav rubix-menu > li > a,
.rubix-panel-left .plain.nav rubix-nav-item > li > a,
.rubix-panel-left .plain.nav > li > a, .rubix-panel-right .plain.nav rubix-menu > li > a,
.rubix-panel-right .plain.nav rubix-nav-item > li > a,
.rubix-panel-right .plain.nav > li > a {
  border-color: transparent; }

.rubix-panel-header .plain.nav > li > a, .rubix-panel-footer .plain.nav > li > a, .rubix-panel-left .plain.nav > li > a, .rubix-panel-right .plain.nav > li > a {
  margin-top: -2px;
  margin-bottom: -2px; }

.rubix-panel-header .plain.nav rubix-menu > li > a,
.rubix-panel-header .plain.nav rubix-nav-item > li > a,
.rubix-panel-header .plain.nav > li > a, .rubix-panel-footer .plain.nav rubix-menu > li > a,
.rubix-panel-footer .plain.nav rubix-nav-item > li > a,
.rubix-panel-footer .plain.nav > li > a, .rubix-panel-left .plain.nav rubix-menu > li > a,
.rubix-panel-left .plain.nav rubix-nav-item > li > a,
.rubix-panel-left .plain.nav > li > a, .rubix-panel-right .plain.nav rubix-menu > li > a,
.rubix-panel-right .plain.nav rubix-nav-item > li > a,
.rubix-panel-right .plain.nav > li > a {
  background-color: transparent; }

.rubix-panel-header .plain.nav rubix-menu > li > a:hover,
.rubix-panel-header .plain.nav rubix-menu > li > a:focus,
.rubix-panel-header .plain.nav rubix-nav-item > li > a:hover,
.rubix-panel-header .plain.nav rubix-nav-item > li > a:focus,
.rubix-panel-header .plain.nav > li > a:hover,
.rubix-panel-header .plain.nav > li > a:focus, .rubix-panel-footer .plain.nav rubix-menu > li > a:hover,
.rubix-panel-footer .plain.nav rubix-menu > li > a:focus,
.rubix-panel-footer .plain.nav rubix-nav-item > li > a:hover,
.rubix-panel-footer .plain.nav rubix-nav-item > li > a:focus,
.rubix-panel-footer .plain.nav > li > a:hover,
.rubix-panel-footer .plain.nav > li > a:focus, .rubix-panel-left .plain.nav rubix-menu > li > a:hover,
.rubix-panel-left .plain.nav rubix-menu > li > a:focus,
.rubix-panel-left .plain.nav rubix-nav-item > li > a:hover,
.rubix-panel-left .plain.nav rubix-nav-item > li > a:focus,
.rubix-panel-left .plain.nav > li > a:hover,
.rubix-panel-left .plain.nav > li > a:focus, .rubix-panel-right .plain.nav rubix-menu > li > a:hover,
.rubix-panel-right .plain.nav rubix-menu > li > a:focus,
.rubix-panel-right .plain.nav rubix-nav-item > li > a:hover,
.rubix-panel-right .plain.nav rubix-nav-item > li > a:focus,
.rubix-panel-right .plain.nav > li > a:hover,
.rubix-panel-right .plain.nav > li > a:focus {
  background-color: transparent;
  border-color: transparent;
  color: white; }

.rubix-panel-header .plain.nav rubix-menu > li.active > a,
.rubix-panel-header .plain.nav rubix-nav-item > li.active > a,
.rubix-panel-header .plain.nav > li.active > a, .rubix-panel-footer .plain.nav rubix-menu > li.active > a,
.rubix-panel-footer .plain.nav rubix-nav-item > li.active > a,
.rubix-panel-footer .plain.nav > li.active > a, .rubix-panel-left .plain.nav rubix-menu > li.active > a,
.rubix-panel-left .plain.nav rubix-nav-item > li.active > a,
.rubix-panel-left .plain.nav > li.active > a, .rubix-panel-right .plain.nav rubix-menu > li.active > a,
.rubix-panel-right .plain.nav rubix-nav-item > li.active > a,
.rubix-panel-right .plain.nav > li.active > a {
  background-color: transparent;
  border-color: transparent;
  color: white; }

.rubix-panel-header .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-header .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-header .plain.nav > li.active > a:before, .rubix-panel-footer .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-footer .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-footer .plain.nav > li.active > a:before, .rubix-panel-left .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-left .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-left .plain.nav > li.active > a:before, .rubix-panel-right .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-right .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-right .plain.nav > li.active > a:before {
  content: ' ';
  left: 50%;
  bottom: 0;
  width: 6px;
  display: block;
  margin-left: -7px;
  position: absolute;
  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent; }

.rubix-panel-header .nav rubix-menu:first-child > li > a,
.rubix-panel-header .nav rubix-nav-item:first-child > li > a,
.rubix-panel-header .nav > li:first-child > a, .rubix-panel-left .nav rubix-menu:first-child > li > a,
.rubix-panel-left .nav rubix-nav-item:first-child > li > a,
.rubix-panel-left .nav > li:first-child > a {
  border-radius: 0;
  border-top-left-radius: 8px; }

.rubix-panel-header .nav rubix-menu:last-child > li > a,
.rubix-panel-header .nav rubix-nav-item:last-child > li > a,
.rubix-panel-header .nav > li:last-child > a, .rubix-panel-left .nav rubix-menu:last-child > li > a,
.rubix-panel-left .nav rubix-nav-item:last-child > li > a,
.rubix-panel-left .nav > li:last-child > a {
  border-radius: 0;
  border-right: none;
  border-top-right-radius: 8px; }

.rubix-panel-footer .plain.nav rubix-menu > li,
.rubix-panel-footer .plain.nav rubix-nav-item > li, .rubix-panel-right .plain.nav rubix-menu > li,
.rubix-panel-right .plain.nav rubix-nav-item > li {
  margin-bottom: 0;
  margin-top: -1px; }

.rubix-panel-footer .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-footer .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-footer .plain.nav > li.active > a:before, .rubix-panel-right .plain.nav rubix-menu > li.active > a:before,
.rubix-panel-right .plain.nav rubix-nav-item > li.active > a:before,
.rubix-panel-right .plain.nav > li.active > a:before {
  top: 0;
  bottom: auto;
  border-bottom: none;
  border-top: 6px solid #fff; }

.rubix-panel-footer .nav rubix-menu:first-child > li > a,
.rubix-panel-footer .nav rubix-nav-item:first-child > li > a,
.rubix-panel-footer .nav > li:first-child > a, .rubix-panel-right .nav rubix-menu:first-child > li > a,
.rubix-panel-right .nav rubix-nav-item:first-child > li > a,
.rubix-panel-right .nav > li:first-child > a {
  border-radius: 0;
  border-bottom-left-radius: 8px; }

.rubix-panel-footer .nav rubix-menu:last-child > li > a,
.rubix-panel-footer .nav rubix-nav-item:last-child > li > a,
.rubix-panel-footer .nav > li:last-child > a, .rubix-panel-right .nav rubix-menu:last-child > li > a,
.rubix-panel-right .nav rubix-nav-item:last-child > li > a,
.rubix-panel-right .nav > li:last-child > a {
  border-radius: 0;
  border-right: none;
  border-bottom-right-radius: 8px; }

.rubix-panel.horizontal {
  overflow: hidden;
  border-radius: 8px; }
  .rubix-panel.horizontal .rubix-panel-left li > a, .rubix-panel.horizontal rubix-panel-left li > a, .rubix-panel.horizontal .rubix-panel-right li > a, .rubix-panel.horizontal rubix-panel-right li > a {
    border-radius: 0px !important; }
    .rubix-panel.horizontal .rubix-panel-left li > a:after, .rubix-panel.horizontal rubix-panel-left li > a:after, .rubix-panel.horizontal .rubix-panel-right li > a:after, .rubix-panel.horizontal rubix-panel-right li > a:after {
      display: none; }

.rubix-panel + .rubix-panel.horizontal {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

@media (min-width: 990px) {
  .panel-tab-container .rubix-panel-header,
  .panel-tab-container .rubix-panel-footer {
    width: 100.1%;
    display: table; }
  .rubix-panel.horizontal {
    width: 100.1%;
    display: table;
    table-layout: fixed; }
    .rubix-panel.horizontal .rubix-panel-left li > a, .rubix-panel.horizontal rubix-panel-left li > a, .rubix-panel.horizontal .rubix-panel-right li > a, .rubix-panel.horizontal rubix-panel-right li > a {
      border: none; }
    .rubix-panel.horizontal > div {
      display: table-row; }
    .rubix-panel.horizontal .rubix-panel-left, .rubix-panel.horizontal rubix-panel-left, .rubix-panel.horizontal .rubix-panel-body, .rubix-panel.horizontal rubix-panel-body, .rubix-panel.horizontal .rubix-panel-right, .rubix-panel.horizontal rubix-panel-right {
      display: table-cell;
      vertical-align: top; }
  .rubix-panel.horizontal rubix-panel-left rubix-nav-item,
  .rubix-panel.horizontal rubix-panel-right rubix-nav-item,
  .rubix-panel.horizontal .rubix-panel-left > ul,
  .rubix-panel.horizontal .rubix-panel-right > ul,
  .rubix-panel.horizontal .rubix-panel-left > ul > li,
  .rubix-panel.horizontal .rubix-panel-right > ul > li {
    display: block; }
  .rubix-panel.horizontal .rubix-panel-left > ul > li,
  .rubix-panel.horizontal .rubix-panel-right > ul > li {
    width: 100%; }
  .rubix-panel.horizontal rubix-panel-left rubix-nav-item > li,
  .rubix-panel.horizontal rubix-panel-right rubix-nav-item > li {
    margin: 0; }
  .rubix-panel.horizontal .rubix-panel-left .nav-tabs.plain li.active > a:before {
    left: auto;
    right: -3px;
    bottom: 45%;
    transform: rotate(-90deg); }
  .rubix-panel.horizontal .rubix-panel-right .nav-tabs.plain li.active > a:before {
    top: 45%;
    left: 3px;
    transform: rotate(-90deg); }
  .rubix-panel-body ul[role='tablist'].nav {
    padding-left: 28px;
    margin-left: -28px;
    margin-right: -56px; }
    .rubix-panel-body ul[role='tablist'].nav.nav-stacked {
      margin-right: -28px; } }

.rubix-panel-container.panel-plain {
  background: none !important; }

.rubix-panel-header.nav-inline .nav-tabs > li > a {
  padding: 2px 25px !important;
  height: auto !important;
  line-height: 2;
  display: block;
  border-bottom: 0px;
  border: none;
  margin-bottom: -1px; }

.rubix-panel-header.nav-inline .nav-tabs > li.active > a {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px; }

.left-tag, .right-tag {
  position: relative;
  display: inline-block;
  text-decoration: none;
  border: none !important; }
  .left-tag:before, .right-tag:before {
    top: 0;
    width: 0;
    height: 0;
    content: '';
    position: absolute;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0); }

.left-tag {
  margin-left: 12px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  padding: 0 10px 0 8px !important;
  margin-bottom: 14px; }
  .left-tag:before {
    left: -12px;
    float: left;
    border-right-color: inherit;
    border-width: 12px 12px 12px 0; }

.right-tag {
  margin-right: 12px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  padding: 0 8px 0 10px !important;
  margin-bottom: 14px; }
  .right-tag:before {
    right: -12px;
    float: right;
    border-left-color: inherit;
    border-width: 12px 0 12px 12px; }

.terms {
  height: 200px;
  overflow: auto;
  background: #fff;
  padding: 28px; }

.rubix-timeline-view {
  padding: 28px;
  padding-right: 0px;
  margin-left: 42px;
  border-left: 2px solid #eee;
  margin-bottom: -28px; }

.rubix-panel-body > .rubix-timeline-view {
  margin-top: -28px; }

.rubix-panel-header ~ .rubix-panel-body > .rubix-timeline-view {
  margin-top: 0; }

.rubix-timeline-item {
  position: relative; }

.rubix-timeline-title {
  font-size: 12px;
  background: #eee;
  padding: 4px 15px;
  font-weight: bold;
  display: inline-block;
  border-radius: 8px; }

.rubix-timeline-icon {
  width: 30px;
  height: 30px;
  left: -41.5px;
  font-size: 16px;
  padding: 0px 7px;
  background: #eee;
  line-height: 28px;
  position: absolute;
  border-radius: 100px;
  display: inline-block; }

.rubix-timeline-avatar {
  left: -41.5px; }

.rubix-timeline-body > ul {
  padding: 0;
  list-style-type: none;
  border-bottom: 2px solid #eee;
  margin-bottom: 28px;
  margin-top: 14px; }

.rubix-timeline-body > ul > li {
  padding-right: 28px;
  padding-bottom: 28px; }
  .rubix-timeline-body > ul > li:before {
    left: -30px;
    content: ' ';
    margin-top: 8px;
    position: absolute;
    border-radius: 100px;
    border: 4px solid #eee;
    box-shadow: 0px 0px 0px 6px #FFF; }

.rubix-timeline-view ~ .rubix-timeline-view {
  margin-top: 0;
  padding-top: 0; }

.rubix-timeline-view.rubix-timeline-with-header {
  padding-top: 0; }
  .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item {
    position: relative; }
  .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-header {
    height: 50px;
    padding-top: 10px;
    position: relative;
    padding-left: 23px;
    margin-left: -72px; }
    .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-header > .rubix-timeline-icon, .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-header > .rubix-timeline-title {
      left: 0;
      position: relative; }
    .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-header[class^="bg-"] > .rubix-timeline-title, .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-header[class*=" bg-"] > .rubix-timeline-title {
      padding: 0 10px;
      background: none !important; }
  .rubix-timeline-view.rubix-timeline-with-header > .rubix-timeline-item > .rubix-timeline-body > ul {
    border: none;
    margin-bottom: 0; }

.rubix-timeline-view.rubix-timeline-centered {
  margin-left: 45%; }
  .rubix-timeline-view.rubix-timeline-centered .rubix-timeline-body > ul {
    border: none;
    margin-bottom: 0; }
    .rubix-timeline-view.rubix-timeline-centered .rubix-timeline-body > ul > li {
      float: right;
      display: block; }
      .rubix-timeline-view.rubix-timeline-centered .rubix-timeline-body > ul > li:before, .rubix-timeline-view.rubix-timeline-centered .rubix-timeline-body > ul > li:after {
        clear: both;
        content: ' ';
        display: table; }
      .rubix-timeline-view.rubix-timeline-centered .rubix-timeline-body > ul > li:nth-child(odd) {
        width: 100%;
        float: left;
        margin-left: -100%;
        padding-left: 28px;
        padding-right: 56px; }

.alternate .rubix-timeline-view {
  margin: 0;
  padding: 0;
  border: none;
  margin-top: -25px; }
  .alternate .rubix-timeline-view:before {
    left: 50%;
    height: 100%;
    content: ' ';
    position: absolute;
    padding-right: 0px;
    border-left: 2px solid #eee; }
  .alternate .rubix-timeline-view .rubix-timeline-item {
    padding-top: 28px; }
  .alternate .rubix-timeline-view.rubix-timeline-with-header .rubix-timeline-item {
    padding-top: 0; }
  .alternate .rubix-timeline-view .rubix-timeline-item:nth-child(odd) {
    padding-bottom: 28px; }
  .alternate .rubix-timeline-view .rubix-timeline-header {
    margin: 0;
    left: auto;
    padding-left: 0;
    text-align: center; }
    .alternate .rubix-timeline-view .rubix-timeline-header > .rubix-timeline-icon {
      top: 1px;
      left: auto;
      padding-right: 0;
      position: relative;
      border-radius: 8px;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .alternate .rubix-timeline-view .rubix-timeline-header > .rubix-timeline-title {
      height: 30px;
      border-top-left-radius: 0px;
      border-bottom-left-radius: 0px; }
    .alternate .rubix-timeline-view .rubix-timeline-header[class^="bg-"] > .rubix-timeline-icon, .alternate .rubix-timeline-view .rubix-timeline-header[class*=" bg-"] > .rubix-timeline-icon {
      background: none; }
  .alternate .rubix-timeline-view .rubix-timeline-body > ul {
    border: none; }
    .alternate .rubix-timeline-view .rubix-timeline-body > ul > li {
      width: 100%;
      position: relative;
      display: inline-block; }
      .alternate .rubix-timeline-view .rubix-timeline-body > ul > li:before {
        left: 50%;
        position: absolute; }
    .alternate .rubix-timeline-view .rubix-timeline-body > ul > li:nth-child(odd) {
      padding-right: 50%;
      right: 28px;
      padding-left: 56px; }
      .alternate .rubix-timeline-view .rubix-timeline-body > ul > li:nth-child(odd):before {
        margin-left: 22px; }
    .alternate .rubix-timeline-view .rubix-timeline-body > ul > li.left {
      padding-right: 50% !important;
      right: 28px !important;
      padding-left: 56px !important; }
      .alternate .rubix-timeline-view .rubix-timeline-body > ul > li.left:before {
        margin-left: 22px !important; }
    .alternate .rubix-timeline-view .rubix-timeline-body > ul > li:nth-child(even) {
      padding-left: 50%;
      right: -28px;
      padding-right: 56px; }
      .alternate .rubix-timeline-view .rubix-timeline-body > ul > li:nth-child(even):before {
        margin-left: -28px; }
    .alternate .rubix-timeline-view .rubix-timeline-body > ul > li.right {
      padding-left: 50% !important;
      right: -28px !important;
      padding-right: 56px !important; }
      .alternate .rubix-timeline-view .rubix-timeline-body > ul > li.right:before {
        margin-left: -28px !important; }

.pricing-table {
  padding: 0;
  background: white;
  margin-bottom: 28px; }
  .pricing-table.preferred {
    z-index: 1;
    left: -1px;
    border: 1px solid gray; }
  @media (min-width: 990px) {
    .pricing-table {
      border-right: 1px solid #E9F0F5; }
      .pricing-table:last-child {
        border: none; } }

.pricing-table.preferred ~ .pricing-table {
  left: -1px; }

.pricing-table-header {
  color: #8BA0AF;
  background: #D2E0EB; }
  .pricing-table-header > h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 300;
    padding-top: 28px;
    padding-bottom: 28px; }

.pricing-table-price {
  color: inherit;
  background: #D2E0EB;
  margin-top: 28px; }

.pricing-table-price h2 {
  left: 50%;
  width: 85px;
  margin: auto;
  height: 85px;
  font-size: 24px;
  line-height: 75px;
  position: absolute;
  background: inherit;
  margin-left: -42.5px;
  border-radius: 100px;
  border: 5px solid white;
  margin-top: -14px; }

.pricing-table-body {
  margin-bottom: 28px;
  margin-top: 56px; }

.pricing-table-feature {
  margin: 0 28px;
  padding: 14px; }

.pricing-btn-container {
  padding: 28px;
  padding-bottom: 0;
  padding-top: 14px; }
  .pricing-btn-container > button {
    width: 100%;
    border-radius: 8px; }
    .pricing-btn-container > button.btn-lightblue50:hover, .pricing-btn-container > button.btn-lightblue50:focus {
      background: #8BA0AF;
      border-color: #8BA0AF; }

.radio input[type='radio'],
.radio-inline input[type='radio'] {
  margin-top: 6px; }

.checkbox input[type='checkbox'],
.checkbox-inline input[type='checkbox'] {
  margin-top: 6px; }

.popover {
  z-index: 999999999; }

.label, .badge {
  font-size: 75%; }

label {
  display: block; }
  label.inline {
    display: inline-block; }

#app-container {
  display: block; }

#container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  min-height: 100vh; }

div#__bs_notify__ {
  z-index: 10000000000000000 !important;
  background-color: #6788ff !important; }

.ps-container .ps-scrollbar-x-rail {
  position: absolute;
  /* please don't change 'position' */
  bottom: 3px;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 6px;
  opacity: 0;
  filter: alpha(opacity=0);
  -o-transition: background-color .2s ease, opacity .2s ease;
  -webkit-transition: background-color .2s ease, opacity .2s ease;
  -moz-transition: background-color .2s ease, opacity .2s ease;
  transition: background-color .2s ease, opacity .2s ease; }

.ps-container:hover .ps-scrollbar-x-rail,
.ps-container.hover .ps-scrollbar-x-rail {
  opacity: 0.6;
  filter: alpha(opacity=60); }

.ps-container .ps-scrollbar-x-rail:hover,
.ps-container .ps-scrollbar-x-rail.hover {
  background-color: white;
  opacity: 0.9;
  filter: alpha(opacity=90); }

.ps-container .ps-scrollbar-x-rail.in-scrolling {
  background-color: white;
  opacity: 0.9;
  filter: alpha(opacity=90); }

.ps-container .ps-scrollbar-y-rail {
  position: absolute;
  /* please don't change 'position' */
  right: 3px;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 6px;
  opacity: 0;
  filter: alpha(opacity=0);
  -o-transition: background-color .2s ease, opacity .2s ease;
  -webkit-transition: background-color .2s ease, opacity .2s ease;
  -moz-transition: background-color .2s ease, opacity .2s ease;
  transition: background-color .2s ease, opacity .2s ease; }

.ps-container:hover .ps-scrollbar-y-rail,
.ps-container.hover .ps-scrollbar-y-rail {
  opacity: 0.6;
  filter: alpha(opacity=60); }

.ps-container .ps-scrollbar-y-rail:hover,
.ps-container .ps-scrollbar-y-rail.hover {
  background-color: white;
  opacity: 0.9;
  filter: alpha(opacity=90); }

.ps-container .ps-scrollbar-y-rail.in-scrolling {
  background-color: white;
  opacity: 0.9;
  filter: alpha(opacity=90); }

.ps-container .ps-scrollbar-x {
  position: absolute;
  /* please don't change 'position' */
  bottom: 0;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 6px;
  background-color: #aaa;
  -o-transition: background-color .2s ease;
  -webkit-transition: background-color 0.2s ease;
  -moz-transition: background-color .2s ease;
  transition: background-color .2s ease; }

.ps-container.ie6 .ps-scrollbar-x {
  font-size: 0;
  /* fixed scrollbar height in xp sp3 ie6 */ }

.ps-container .ps-scrollbar-x-rail:hover .ps-scrollbar-x,
.ps-container .ps-scrollbar-x-rail.hover .ps-scrollbar-x {
  background-color: #999; }

.ps-container .ps-scrollbar-y {
  position: absolute;
  /* please don't change 'position' */
  right: 0;
  /* there must be 'right' for ps-scrollbar-y */
  width: 6px;
  background-color: #aaa;
  -o-transition: background-color .2s ease;
  -webkit-transition: background-color 0.2s ease;
  -moz-transition: background-color .2s ease;
  transition: background-color .2s ease; }

.ps-container.ie6 .ps-scrollbar-y {
  font-size: 0;
  /* fixed scrollbar height in xp sp3 ie6 */ }

.ps-container .ps-scrollbar-y-rail:hover .ps-scrollbar-y,
.ps-container .ps-scrollbar-y-rail.hover .ps-scrollbar-y {
  background-color: #999; }

.ps-container.ie .ps-scrollbar-x,
.ps-container.ie .ps-scrollbar-y {
  visibility: hidden; }

.ps-container.ie:hover .ps-scrollbar-x,
.ps-container.ie:hover .ps-scrollbar-y,
.ps-container.ie.hover .ps-scrollbar-x,
.ps-container.ie.hover .ps-scrollbar-y {
  visibility: visible; }

.doc-sidebar {
  padding: 25px;
  overflow: auto !important; }

.doc-sidebar-link {
  display: block;
  margin-left: -25px;
  margin-right: -25px;
  border: none !important;
  padding: 5px 12.5px 5px 25px; }

.doc-sidebar-group-links a {
  padding-left: 37.5px; }

.doc-sidebar-group-name {
  font-size: 12px;
  cursor: pointer;
  max-width: 250px;
  font-weight: bold;
  user-select: none;
  position: relative;
  margin-top: 12.5px;
  margin-left: -25px;
  padding-left: 25px;
  padding-right: 25px;
  padding-bottom: 5px;
  margin-right: -25px;
  word-wrap: break-word;
  text-transform: uppercase;
  color: rgba(137, 148, 155, 0.6); }

.doc-sidebar-group-name:hover, .doc-sidebar-group-name.minus {
  color: #89949b; }

.doc-sidebar-group-name:before {
  top: -4px;
  left: 10px;
  content: '+';
  font-size: 16px;
  position: absolute; }

.doc-sidebar-group-name.minus:before {
  top: -8px;
  left: 12px;
  content: '-';
  font-size: 20px; }

.doc-sidebar-link:hover {
  color: white;
  background: #28514e; }

.doc-sidebar-link.active {
  background: #2eb398;
  color: white; }

.bs-example {
  background: white;
  position: relative;
  margin-bottom: -8px;
  border: 1px solid #ddd;
  padding: 45px 15px 15px;
  border-radius: 4px 4px 0 0; }

.bs-example:after {
  top: 15px;
  left: 15px;
  color: #959595;
  font-size: 12px;
  font-weight: 700;
  content: 'Example';
  position: absolute;
  letter-spacing: 1px;
  text-transform: uppercase; }

.bs-example + pre {
  font-size: 14px;
  border-color: #ddd;
  border-radius: 0 0 4px 4px !important; }

.upgrade-guide-item {
  padding-left: 12.5px;
  list-style-type: disc; }

.bs-example .dropdown-menu.open {
  position: static;
  display: block;
  margin-bottom: 5px;
  clear: left; }

.bs-example.tooltip-static .tooltip {
  margin: 5px 10px;
  position: relative;
  display: inline-block; }

.bs-example.bs-example-popover-contained {
  height: 200px; }

.bs-example.bs-example-popover-scroll {
  height: 200px;
  overflow: scroll; }

.show-grid [class^=col-] {
  background: #eee;
  padding-top: 10px;
  padding-bottom: 10px;
  border: 1px solid #ddd; }

.bs-example .container {
  width: auto;
  max-width: 900px; }

a[role=menuitem] > .container-fluid {
  margin: -4px -25px;
  padding: 4px 25px; }

.icon-1-and-quarter-x {
  font-size: 125%; }

.icon-1-and-half-x {
  font-size: 150%; }

.icon-1x {
  font-size: 100%; }

.icon-2-and-quarter-x {
  font-size: 250%; }

.icon-2-and-half-x {
  font-size: 300%; }

.icon-2x {
  font-size: 200%; }

.icon-3-and-quarter-x {
  font-size: 375%; }

.icon-3-and-half-x {
  font-size: 450%; }

.icon-3x {
  font-size: 300%; }

.icon-4-and-quarter-x {
  font-size: 500%; }

.icon-4-and-half-x {
  font-size: 600%; }

.icon-4x {
  font-size: 400%; }

.icon-rotate-45 {
  transform: rotate(45deg); }

.icon-rotate-90 {
  transform: rotate(90deg); }

.icon-rotate-135 {
  transform: rotate(135deg); }

.icon-rotate-180 {
  transform: rotate(180deg); }

.icon-rotate-225 {
  transform: rotate(225deg); }

.icon-rotate-270 {
  transform: rotate(270deg); }

.icon-rotate-315 {
  transform: rotate(315deg); }

.icon-rotate-360 {
  transform: rotate(360deg); }

@media (max-width: 989px) {
  .col-xs-only-gutter-top {
    margin-top: 25px; }
  .col-xs-only-gutter-left {
    margin-left: 25px; }
  .col-xs-only-gutter-right {
    margin-right: 25px; }
  .col-xs-only-gutter-bottom {
    margin-bottom: 25px; }
  .col-xs-only-collapse-top {
    padding-top: 0; }
  .col-xs-only-collapse-left {
    padding-left: 0; }
  .col-xs-only-collapse-right {
    padding-right: 0; }
  .col-xs-only-collapse-bottom {
    padding-bottom: 0; } }

@media (min-width: 990px) and (max-width: 1151px) {
  .col-sm-only-gutter-top {
    margin-top: 25px; }
  .col-sm-only-gutter-left {
    margin-left: 25px; }
  .col-sm-only-gutter-right {
    margin-right: 25px; }
  .col-sm-only-gutter-bottom {
    margin-bottom: 25px; }
  .col-sm-only-collapse-top {
    padding-top: 0; }
  .col-sm-only-collapse-left {
    padding-left: 0; }
  .col-sm-only-collapse-right {
    padding-right: 0; }
  .col-sm-only-collapse-bottom {
    padding-bottom: 0; } }

@media (min-width: 1152px) and (max-width: 1365px) {
  .col-md-only-gutter-top {
    margin-top: 25px; }
  .col-md-only-gutter-left {
    margin-left: 25px; }
  .col-md-only-gutter-right {
    margin-right: 25px; }
  .col-md-only-gutter-bottom {
    margin-bottom: 25px; }
  .col-md-only-collapse-top {
    padding-top: 0; }
  .col-md-only-collapse-left {
    padding-left: 0; }
  .col-md-only-collapse-right {
    padding-right: 0; }
  .col-md-only-collapse-bottom {
    padding-bottom: 0; } }

@media (min-width: 1366px) {
  .col-lg-only-gutter-top {
    margin-top: 25px; }
  .col-lg-only-gutter-left {
    margin-left: 25px; }
  .col-lg-only-gutter-right {
    margin-right: 25px; }
  .col-lg-only-gutter-bottom {
    margin-bottom: 25px; }
  .col-lg-only-collapse-top {
    padding-top: 0; }
  .col-lg-only-collapse-left {
    padding-left: 0; }
  .col-lg-only-collapse-right {
    padding-right: 0; }
  .col-lg-only-collapse-bottom {
    padding-bottom: 0; } }

.col-xs-gutter-top {
  margin-top: 25px; }

.col-xs-gutter-left {
  margin-left: 25px; }

.col-xs-gutter-right {
  margin-right: 25px; }

.col-xs-gutter-bottom {
  margin-bottom: 25px; }

.col-xs-collapse-top {
  padding-top: 0; }

.col-xs-collapse-left {
  padding-left: 0; }

.col-xs-collapse-right {
  padding-right: 0; }

.col-xs-collapse-bottom {
  padding-bottom: 0; }

@media (min-width: 990px) {
  .col-sm-gutter-top {
    margin-top: 25px; }
  .col-sm-gutter-left {
    margin-left: 25px; }
  .col-sm-gutter-right {
    margin-right: 25px; }
  .col-sm-gutter-bottom {
    margin-bottom: 25px; }
  .col-sm-collapse-top {
    padding-top: 0; }
  .col-sm-collapse-left {
    padding-left: 0; }
  .col-sm-collapse-right {
    padding-right: 0; }
  .col-sm-collapse-bottom {
    padding-bottom: 0; } }

@media (min-width: 1152px) {
  .col-md-gutter-top {
    margin-top: 25px; }
  .col-md-gutter-left {
    margin-left: 25px; }
  .col-md-gutter-right {
    margin-right: 25px; }
  .col-md-gutter-bottom {
    margin-bottom: 25px; }
  .col-md-collapse-top {
    padding-top: 0; }
  .col-md-collapse-left {
    padding-left: 0; }
  .col-md-collapse-right {
    padding-right: 0; }
  .col-md-collapse-bottom {
    padding-bottom: 0; } }

@media (min-width: 1366px) {
  .col-lg-gutter-top {
    margin-top: 25px; }
  .col-lg-gutter-left {
    margin-left: 25px; }
  .col-lg-gutter-right {
    margin-right: 25px; }
  .col-lg-gutter-bottom {
    margin-bottom: 25px; }
  .col-lg-collapse-top {
    padding-top: 0; }
  .col-lg-collapse-left {
    padding-left: 0; }
  .col-lg-collapse-right {
    padding-right: 0; }
  .col-lg-collapse-bottom {
    padding-bottom: 0; } }

/* columns of same height styles */
.container-xs-height {
  width: 100.1%;
  display: table;
  table-layout: fixed;
  padding-left: 0px;
  padding-right: 0px; }
  .container-xs-height::before, .container-xs-height:after {
    clear: none;
    content: none;
    display: none; }

.row-xs-height {
  display: table-row; }
  .row-xs-height::before, .row-xs-height:after {
    clear: none;
    content: none;
    display: none; }

.col-xs-height {
  vertical-align: top;
  display: table-cell;
  float: none; }

@media (min-width: 990px) {
  .container-sm-height {
    width: 100.1%;
    display: table;
    table-layout: fixed;
    padding-left: 0px;
    padding-right: 0px; }
    .container-sm-height::before, .container-sm-height:after {
      clear: none;
      content: none;
      display: none; }
  .row-sm-height {
    display: table-row; }
    .row-sm-height::before, .row-sm-height:after {
      clear: none;
      content: none;
      display: none; }
  .col-sm-height {
    vertical-align: top;
    display: table-cell;
    float: none; } }

@media (min-width: 1152px) {
  .container-md-height {
    width: 100.1%;
    display: table;
    table-layout: fixed;
    padding-left: 0px;
    padding-right: 0px; }
    .container-md-height::before, .container-md-height:after {
      clear: none;
      content: none;
      display: none; }
  .row-md-height {
    display: table-row; }
    .row-md-height::before, .row-md-height:after {
      clear: none;
      content: none;
      display: none; }
  .col-md-height {
    vertical-align: top;
    display: table-cell;
    float: none; }
  .text-md-right {
    text-align: right; } }

@media (min-width: 1366px) {
  .container-lg-height {
    width: 100.1%;
    display: table;
    table-layout: fixed;
    padding-left: 0px;
    padding-right: 0px; }
    .container-lg-height::before, .container-lg-height:after {
      clear: none;
      content: none;
      display: none; }
  .row-lg-height {
    display: table-row; }
    .row-lg-height::before, .row-lg-height:after {
      clear: none;
      content: none;
      display: none; }
  .col-lg-height {
    vertical-align: top;
    display: table-cell;
    float: none; } }

/* vertical alignment styles */
.col-top {
  vertical-align: top; }

.col-middle {
  vertical-align: middle; }

.col-bottom {
  vertical-align: bottom; }

/* fix firefox responsive images */
.img-responsive {
  width: 100%; }

.grid-collapse {
  padding: 0; }
  .grid-collapse > rubix-row > .row, .grid-collapse .row {
    margin: 0; }
    .grid-collapse > rubix-row > .row > rubix-col > [class^='col-'], .grid-collapse > rubix-row > .row > [class^='col-'], .grid-collapse .row > rubix-col > [class^='col-'], .grid-collapse .row > [class^='col-'] {
      padding: 0; }

.grid-gutter {
  margin: 25px; }

.grid-gutter-top {
  margin-top: 25px; }

.grid-gutter-left {
  margin-left: 25px; }

.grid-gutter-right {
  margin-right: 25px; }

.grid-gutter-bottom {
  margin-bottom: 25px; }

.trumbowyg-box,
.trumbowyg-editor {
  border: none !important; }

.trumbowyg-box {
  color: #333 !important;
  border-top: 1px solid #d7e0e2 !important; }

.trumbowyg-editor {
  border-bottom: 1px solid #d7e0e2 !important; }

.trumbowyg-button-pane {
  background: #ffffff !important; }

.trumbowyg-button-group button {
  margin-bottom: 0 !important; }
  .trumbowyg-button-group button:hover, .trumbowyg-button-group button:focus, .trumbowyg-button-group button.trumbowyg-active {
    background: #d7e0e2 !important; }

.slider-track,
.slider-handle,
.slider-selection,
.slider.slider-disabled .slider-track,
.slider.slider-disabled .slider-handle {
  filter: none;
  box-shadow: none;
  border-radius: 0;
  background-image: none;
  background-repeat: none; }

.slider-selection {
  box-sizing: border-box;
  border-radius: 4px; }

.slider-track {
  background: #f0f0f0; }

.slider-handle {
  background: #3a94a5; }

.slider.slider-disabled .slider-track {
  background: #e5e5e5; }

.bootstrap-datetimepicker-widget a[data-action] {
  border: none;
  display: inline; }

.bootstrap-datetimepicker-widget button[data-action] {
  padding: 2px 15px; }

.bootstrap-datetimepicker-widget td a[data-action="togglePicker"] {
  border: 0;
  display: block;
  cursor: pointer;
  border-radius: 20px;
  padding: 12px !important; }

.bootstrap-datetimepicker-widget td a[data-action="togglePicker"] span {
  margin: 0;
  padding: 5px;
  font-size: 180%;
  background: none;
  width: 54px !important;
  height: auto !important;
  line-height: 1 !important; }

.bootstrap-datetimepicker-widget th.picker-switch {
  background: #eeeeee; }

.bootstrap-datetimepicker-widget .picker-switch.accordion-toggle {
  background: #f5f5f5 !important; }

.bootstrap-datetimepicker-widget table td.today:before {
  content: '';
  display: inline-block;
  border-top-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: 4px;
  right: 4px;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #428bca; }

.datetimepicker-inline {
  width: 100%;
  padding: 25px;
  display: table; }

@keyframes vex-flipin-horizontal {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
    -webkit-transform: rotateY(-90deg);
    -moz-transform: rotateY(-90deg);
    -ms-transform: rotateY(-90deg);
    -o-transform: rotateY(-90deg); }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); } }

@-webkit-keyframes vex-flipin-horizontal {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
    -webkit-transform: rotateY(-90deg);
    -moz-transform: rotateY(-90deg);
    -ms-transform: rotateY(-90deg);
    -o-transform: rotateY(-90deg); }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); } }

@-moz-keyframes vex-flipin-horizontal {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
    -webkit-transform: rotateY(-90deg);
    -moz-transform: rotateY(-90deg);
    -ms-transform: rotateY(-90deg);
    -o-transform: rotateY(-90deg); }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); } }

@-ms-keyframes vex-flipin-horizontal {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
    -webkit-transform: rotateY(-90deg);
    -moz-transform: rotateY(-90deg);
    -ms-transform: rotateY(-90deg);
    -o-transform: rotateY(-90deg); }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); } }

@-o-keyframes vex-flipin-horizontal {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
    -webkit-transform: rotateY(-90deg);
    -moz-transform: rotateY(-90deg);
    -ms-transform: rotateY(-90deg);
    -o-transform: rotateY(-90deg); }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); } }

@keyframes vex-flipout-horizontal {
  0% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); }
  100% {
    opacity: 0;
    transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg); } }

@-webkit-keyframes vex-flipout-horizontal {
  0% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); }
  100% {
    opacity: 0;
    transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg); } }

@-moz-keyframes vex-flipout-horizontal {
  0% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); }
  100% {
    opacity: 0;
    transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg); } }

@-ms-keyframes vex-flipout-horizontal {
  0% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); }
  100% {
    opacity: 0;
    transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg); } }

@-o-keyframes vex-flipout-horizontal {
  0% {
    opacity: 1;
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg); }
  100% {
    opacity: 0;
    transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -o-transform: rotateY(90deg); } }

.vex.vex-theme-flat-attack {
  -webkit-perspective: 1300px;
  -moz-perspective: 1300px;
  -ms-perspective: 1300px;
  -o-perspective: 1300px;
  perspective: 1300px;
  -webkit-perspective-origin: 50% 150px;
  -moz-perspective-origin: 50% 150px;
  -ms-perspective-origin: 50% 150px;
  -o-perspective-origin: 50% 150px;
  perspective-origin: 50% 150px;
  padding-top: 100px;
  padding-bottom: 100px;
  font-size: 1.5em; }

.vex.vex-theme-flat-attack.vex-closing .vex-content {
  animation: vex-flipout-horizontal 0.5s;
  -webkit-animation: vex-flipout-horizontal 0.5s;
  -moz-animation: vex-flipout-horizontal 0.5s;
  -ms-animation: vex-flipout-horizontal 0.5s;
  -o-animation: vex-flipout-horizontal 0.5s;
  -webkit-backface-visibility: hidden; }

.vex.vex-theme-flat-attack .vex-content {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  animation: vex-flipin-horizontal 0.5s;
  -webkit-animation: vex-flipin-horizontal 0.5s;
  -moz-animation: vex-flipin-horizontal 0.5s;
  -ms-animation: vex-flipin-horizontal 0.5s;
  -o-animation: vex-flipin-horizontal 0.5s;
  -webkit-backface-visibility: hidden; }

.vex.vex-theme-flat-attack .vex-content {
  font-family: Lato, sans-serif;
  font-weight: 200;
  background: white;
  color: #444444;
  padding: 2em 2em 3em 2em;
  line-height: 1.5em;
  position: relative;
  margin: 0 auto;
  max-width: 100%;
  width: 600px; }

.vex.vex-theme-flat-attack .vex-content h1, .vex.vex-theme-flat-attack .vex-content h2, .vex.vex-theme-flat-attack .vex-content h3, .vex.vex-theme-flat-attack .vex-content h4, .vex.vex-theme-flat-attack .vex-content h5, .vex.vex-theme-flat-attack .vex-content h6, .vex.vex-theme-flat-attack .vex-content p, .vex.vex-theme-flat-attack .vex-content ul, .vex.vex-theme-flat-attack .vex-content li {
  color: inherit; }

.vex.vex-theme-flat-attack .vex-close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer; }

.vex.vex-theme-flat-attack .vex-close:before {
  font-family: Lato, sans-serif;
  font-weight: 100;
  line-height: 1px;
  padding-top: 0.5em;
  display: block;
  font-size: 2em;
  text-indent: 1px;
  overflow: hidden;
  height: 1.25em;
  width: 1.25em;
  text-align: center;
  top: 0;
  right: 0;
  color: white;
  background: #666666; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-message {
  margin-bottom: 0.5em; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input {
  margin-bottom: 0.5em; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input textarea, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="date"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="datetime"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="datetime-local"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="email"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="month"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="number"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="password"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="search"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="tel"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="text"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="time"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="url"], .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="week"] {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  background: #f0f0f0;
  width: 100%;
  padding: 0.25em 0.67em;
  border: 0;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  min-height: 2.5em;
  margin: 0 0 0.25em; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #666666;
  -moz-box-shadow: inset 0 0 0 2px #666666;
  box-shadow: inset 0 0 0 2px #666666;
  outline: none; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-buttons {
  *zoom: 1;
  padding-top: 1em;
  margin-bottom: -3em;
  margin-left: -2em;
  margin-right: -2em; }

.vex.vex-theme-flat-attack .vex-dialog-form .vex-dialog-buttons:after {
  content: "";
  display: table;
  clear: both; }

.vex.vex-theme-flat-attack .vex-dialog-button {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  border: 0;
  margin: 0;
  float: right;
  padding: 0.5em 1em;
  font-size: 1.13em;
  text-transform: uppercase;
  font-weight: 200;
  letter-spacing: 0.1em;
  line-height: 1em;
  font-family: inherit; }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-last {
  margin-left: 0; }

.vex.vex-theme-flat-attack .vex-dialog-button:focus {
  outline: none; }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-primary {
  background: #666666;
  color: white; }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-primary:focus {
  -webkit-box-shadow: inset 0 3px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 3px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 3px rgba(0, 0, 0, 0.2); }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-secondary {
  background: white;
  color: #cccccc; }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-secondary:focus {
  -webkit-box-shadow: inset 0 3px #aaaaaa;
  -moz-box-shadow: inset 0 3px #aaaaaa;
  box-shadow: inset 0 3px #aaaaaa;
  background: #eeeeee;
  color: #777777; }

.vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-secondary:hover, .vex.vex-theme-flat-attack .vex-dialog-button.vex-dialog-button-secondary:active {
  color: #777777; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-close:before {
  background: #ff7ea7; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #ff7ea7;
  -moz-box-shadow: inset 0 0 0 2px #ff7ea7;
  box-shadow: inset 0 0 0 2px #ff7ea7; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-pink .vex-dialog-form .vex-dialog-buttons .vex-dialog-button.vex-dialog-button-primary {
  background: #ff7ea7; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-close:before {
  background: #ce4a55; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #ce4a55;
  -moz-box-shadow: inset 0 0 0 2px #ce4a55;
  box-shadow: inset 0 0 0 2px #ce4a55; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-red .vex-dialog-form .vex-dialog-buttons .vex-dialog-button.vex-dialog-button-primary {
  background: #ce4a55; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-close:before {
  background: #34b989; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #34b989;
  -moz-box-shadow: inset 0 0 0 2px #34b989;
  box-shadow: inset 0 0 0 2px #34b989; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-green .vex-dialog-form .vex-dialog-buttons .vex-dialog-button.vex-dialog-button-primary {
  background: #34b989; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-close:before {
  background: #477fa5; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
  -webkit-box-shadow: inset 0 0 0 2px #477fa5;
  -moz-box-shadow: inset 0 0 0 2px #477fa5;
  box-shadow: inset 0 0 0 2px #477fa5; }

.vex.vex-theme-flat-attack.vex-theme-flat-attack-blue .vex-dialog-form .vex-dialog-buttons .vex-dialog-button.vex-dialog-button-primary {
  background: #477fa5; }

.vex-loading-spinner.vex-theme-flat-attack {
  height: 4em;
  width: 4em; }

@-webkit-keyframes ui-spinner-rotate-right {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(180deg); }
  50% {
    -webkit-transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@-webkit-keyframes ui-spinner-rotate-left {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@-moz-keyframes ui-spinner-rotate-right {
  0% {
    -moz-transform: rotate(0deg); }
  25% {
    -moz-transform: rotate(180deg); }
  50% {
    -moz-transform: rotate(180deg); }
  75% {
    -moz-transform: rotate(360deg); }
  100% {
    -moz-transform: rotate(360deg); } }

@-moz-keyframes ui-spinner-rotate-left {
  0% {
    -moz-transform: rotate(0deg); }
  25% {
    -moz-transform: rotate(0deg); }
  50% {
    -moz-transform: rotate(180deg); }
  75% {
    -moz-transform: rotate(180deg); }
  100% {
    -moz-transform: rotate(360deg); } }

@keyframes ui-spinner-rotate-right {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(180deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes ui-spinner-rotate-left {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

.messenger-spinner {
  position: relative;
  border-radius: 100%; }

ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
  display: block; }

.messenger-spinner .messenger-spinner-side {
  width: 50%;
  height: 100%;
  overflow: hidden;
  position: absolute; }

.messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
  border-radius: 999px;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -ms-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear; }

.messenger-spinner .messenger-spinner-side-left {
  left: 0; }

.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
  left: 100%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  -webkit-animation-name: ui-spinner-rotate-left;
  -moz-animation-name: ui-spinner-rotate-left;
  -ms-animation-name: ui-spinner-rotate-left;
  -o-animation-name: ui-spinner-rotate-left;
  animation-name: ui-spinner-rotate-left;
  -webkit-transform-origin: 0 50%;
  -moz-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  -o-transform-origin: 0 50%;
  transform-origin: 0 50%; }

.messenger-spinner .messenger-spinner-side-right {
  left: 50%; }

.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
  left: -100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  -webkit-animation-name: ui-spinner-rotate-right;
  -moz-animation-name: ui-spinner-rotate-right;
  -ms-animation-name: ui-spinner-rotate-right;
  -o-animation-name: ui-spinner-rotate-right;
  animation-name: ui-spinner-rotate-right;
  -webkit-transform-origin: 100% 50%;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -o-transform-origin: 100% 50%;
  transform-origin: 100% 50%; }

ul.messenger-theme-flat {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  background: #404040; }

ul.messenger-theme-flat.messenger-empty {
  display: none; }

ul.messenger-theme-flat .messenger-message {
  -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
  -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
  box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
  position: relative;
  border: 0px;
  margin-bottom: 0px;
  font-size: 13px;
  background: transparent;
  color: #f0f0f0;
  font-weight: 500;
  padding: 10px 30px 13px 65px; }

ul.messenger-theme-flat .messenger-message .messenger-close {
  position: absolute;
  top: 0px;
  right: 0px;
  color: #888888;
  opacity: 1;
  font-weight: bold;
  display: block;
  font-size: 20px;
  line-height: 20px;
  padding: 8px 10px 7px 7px;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

ul.messenger-theme-flat .messenger-message .messenger-close:hover {
  color: #bbbbbb; }

ul.messenger-theme-flat .messenger-message .messenger-close:active {
  color: #777777; }

ul.messenger-theme-flat .messenger-message .messenger-actions {
  float: none;
  margin-top: 10px; }

ul.messenger-theme-flat .messenger-message .messenger-actions a {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  text-decoration: none;
  color: #aaaaaa;
  background: #2e2e2e;
  display: inline-block;
  padding: 10px;
  margin-right: 10px;
  padding: 4px 11px 6px;
  text-transform: capitalize; }

ul.messenger-theme-flat .messenger-message .messenger-actions a:hover {
  color: #f0f0f0;
  background: #2e2e2e; }

ul.messenger-theme-flat .messenger-message .messenger-actions a:active {
  background: #292929;
  color: #aaaaaa; }

ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase {
  display: none; }

ul.messenger-theme-flat .messenger-message .messenger-message-inner:before {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: 17px;
  display: block;
  content: " ";
  top: 50%;
  margin-top: -8px;
  height: 13px;
  width: 13px;
  z-index: 20; }

ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before {
  background: #5fca4a; }

ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before {
  background: #61c4b8; }

ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before {
  background: #dd6a45; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
  width: 32px;
  height: 32px;
  background: transparent; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
  background: #dd6a45;
  -webkit-animation-duration: 20s;
  -moz-animation-duration: 20s;
  -ms-animation-duration: 20s;
  -o-animation-duration: 20s;
  animation-duration: 20s;
  opacity: 1; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
  content: "";
  background: #292929;
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  top: 3px;
  left: 3px;
  display: block; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
  width: 32px;
  height: 32px;
  background: transparent; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
  background: #dd6a45;
  -webkit-animation-duration: 600s;
  -moz-animation-duration: 600s;
  -ms-animation-duration: 600s;
  -o-animation-duration: 600s;
  animation-duration: 600s;
  opacity: 1; }

ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
  content: "";
  background: #292929;
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  top: 3px;
  left: 3px;
  display: block; }

ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message {
  -webkit-border-radius: 4px 4px 0px 0px;
  -moz-border-radius: 4px 4px 0px 0px;
  -ms-border-radius: 4px 4px 0px 0px;
  -o-border-radius: 4px 4px 0px 0px;
  border-radius: 4px 4px 0px 0px;
  -webkit-box-shadow: inset 48px 0px 0px #292929;
  -moz-box-shadow: inset 48px 0px 0px #292929;
  box-shadow: inset 48px 0px 0px #292929; }

ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message {
  -webkit-border-radius: 0px 0px 4px 4px;
  -moz-border-radius: 0px 0px 4px 4px;
  -ms-border-radius: 0px 0px 4px 4px;
  -o-border-radius: 0px 0px 4px 4px;
  border-radius: 0px 0px 4px 4px;
  -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
  -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
  box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; }

ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 48px 0px 0px #292929;
  -moz-box-shadow: inset 48px 0px 0px #292929;
  box-shadow: inset 48px 0px 0px #292929; }

ul.messenger-theme-flat .messenger-spinner {
  display: block;
  position: absolute;
  left: 7px;
  top: 50%;
  margin-top: -18px;
  z-index: 999;
  height: 32px;
  width: 32px;
  z-index: 10; }

/* Ion.RangeSlider, Flat UI Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
  background: url("/imgs/common/sprite-skin-flat.png") repeat-x; }

.irs {
  height: 40px; }

.irs-with-grid {
  height: 60px; }

.irs-line {
  height: 12px;
  top: 25px; }

.irs-line-left {
  height: 12px;
  background-position: 0 -30px; }

.irs-line-mid {
  height: 12px;
  background-position: 0 0; }

.irs-line-right {
  height: 12px;
  background-position: 100% -30px; }

.irs-diapason {
  height: 12px;
  top: 25px;
  background-position: 0 -60px; }

.irs-slider {
  width: 16px;
  height: 18px;
  top: 22px;
  background-position: 0 -90px; }

#irs-active-slider, .irs-slider:hover {
  background-position: 0 -120px; }

.irs-min, .irs-max {
  color: #999;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  top: 0;
  padding: 1px 3px;
  background: #e1e4e9;
  border-radius: 4px; }

.irs-from, .irs-to, .irs-single {
  color: #fff;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background: #ed5565;
  border-radius: 4px; }

.irs-from:after, .irs-to:after, .irs-single:after {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #ed5565; }

.irs-grid-pol {
  background: #e1e4e9; }

.irs-grid-text {
  color: #999; }

.bs-example > .dropdown > .dropdown-toggle {
  float: left; }

.bs-example > .dropdown > .dropdown-menu {
  clear: left;
  display: block;
  position: static;
  margin-bottom: 5px; }

.btn-default {
  background: #B4B7B9;
  color: white;
  border-color: #B4B7B9; }
  .btn-default.btn-outlined {
    color: #B4B7B9;
    background: none; }
    .btn-default.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-default.btn-outlined.btn-onlyOnHover:hover, .btn-default.btn-outlined.btn-onlyOnHover:focus, .btn-default.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-default.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-default.btn-outlined.btn-inverse:hover, .btn-default.btn-outlined.btn-inverse:focus, .btn-default.btn-outlined.btn-inverse.active {
        color: #B4B7B9;
        background: white; }
        .btn-default.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-default.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-default.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #B4B7B9;
          color: white;
          border-color: #B4B7B9; }
          .btn-default.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-default.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-default.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #85898d;
            border-color: #666b6e; }
  .btn-default:focus, .btn-default.focus, .btn-default:hover, .btn-default.active {
    color: white;
    background: #ced0d2;
    border-color: #ced0d2; }
  .btn-default:active, .btn-default.active, .btn-default[aria-expanded="true"], .btn-default.active:hover, .btn-default.active:focus, .btn-default[aria-expanded="true"]:hover, .btn-default[aria-expanded="true"]:focus,
  .open > .btn-default.dropdown-toggle {
    color: white;
    background: #85898d;
    border-color: #666b6e;
    background-image: none; }
  .btn-default.dropdown-toggle + ul li.active a {
    color: white;
    background: #B4B7B9; }
  .btn-default.disabled, .btn-default[disabled],
  fieldset[disabled] .btn-default {
    pointer-events: none; }
  .btn-default .badge {
    color: #B4B7B9;
    background-color: #B4B7B9; }

.btn-text {
  background: #011424;
  color: white;
  border-color: #011424; }
  .btn-text.btn-outlined {
    color: #011424;
    background: none; }
    .btn-text.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      .btn-text.btn-outlined.btn-onlyOnHover:hover, .btn-text.btn-outlined.btn-onlyOnHover:focus, .btn-text.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    .btn-text.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      .btn-text.btn-outlined.btn-inverse:hover, .btn-text.btn-outlined.btn-inverse:focus, .btn-text.btn-outlined.btn-inverse.active {
        color: #011424;
        background: white; }
        .btn-text.btn-outlined.btn-inverse:hover.btn-retainBg, .btn-text.btn-outlined.btn-inverse:focus.btn-retainBg, .btn-text.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #011424;
          color: white;
          border-color: #011424; }
          .btn-text.btn-outlined.btn-inverse:hover.btn-retainBg:active, .btn-text.btn-outlined.btn-inverse:focus.btn-retainBg:active, .btn-text.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: black;
            border-color: black; }
  .btn-text:focus, .btn-text.focus, .btn-text:hover, .btn-text.active {
    color: white;
    background: #023056;
    border-color: #023056; }
  .btn-text:active, .btn-text.active, .btn-text[aria-expanded="true"], .btn-text.active:hover, .btn-text.active:focus, .btn-text[aria-expanded="true"]:hover, .btn-text[aria-expanded="true"]:focus,
  .open > .btn-text.dropdown-toggle {
    color: white;
    background: black;
    border-color: black;
    background-image: none; }
  .btn-text.dropdown-toggle + ul li.active a {
    color: white;
    background: #011424; }
  .btn-text.disabled, .btn-text[disabled],
  fieldset[disabled] .btn-text {
    pointer-events: none; }
  .btn-text .badge {
    color: #011424;
    background-color: #011424; }

.menu-text ul li.active a, .menu-text ul li.active a:hover {
  color: white;
  background: #011424 !important; }

.nav-text > li.active > a,
.nav-text > rubix-menu > li.active > a,
.nav-text > rubix-nav-item > li.active > a {
  color: white;
  background: #011424;
  border-color: #011424; }

.tab-text {
  border-color: #011424; }
  .tab-text > li.active > a {
    border-color: #011424;
    border-bottom-color: transparent; }
  .tab-text.nav-pills > li.active > a {
    background: #011424;
    color: white; }

.rubix-panel-header.nav-inline .nav-text > li.active > a {
  border: 1px solid #011424;
  border-bottom: none; }

.rubix-panel-header.nav-inline .nav-text > li.open > .dropdown-toggle {
  color: white;
  background: none; }

.bg-text {
  background: #011424 !important; }
  .bg-text table td, .bg-text th {
    border-color: rgba(0, 0, 0, 0.05) !important; }

.bg-focus-text:focus {
  background: #011424 !important; }

.bg-hover-text:hover {
  background: #011424 !important; }

.fg-text {
  color: #011424; }
  .fg-text .nav-tabs > li.active > a {
    color: #011424; }

.fg-tab-active-text .nav-tabs > li.active > a {
  color: #011424 !important; }

.fg-focus-text:focus {
  color: #011424; }

.fg-hover-text:hover {
  color: #011424; }

.border-text {
  border-color: #011424 !important; }
  .border-text .rubix-timeline-body > ul {
    border-color: #011424; }
  .border-text.rubix-timeline-view:before {
    border-color: #011424; }

.border-hover-text:hover {
  border-color: #011424 !important; }

.border-focus-text:focus {
  border-color: #011424 !important; }

.tl-text .rubix-timeline-body > ul > li:before {
  border-color: #011424; }

.list-bg-text > .list-group-item.active {
  background: #011424 !important;
  color: white !important; }

.list-fg-text > .list-group-item {
  color: #011424; }

@media print {
  #sidebar {
    display: none !important; }
  #navbar {
    display: none !important; }
  #body {
    background: white;
    left: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-left: 0 !important; }
  .rubix-panel-controls {
    display: none !important; } }

@keyframes vex-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes vex-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes vex-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes vex-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes vex-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes vex-fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes vex-fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-moz-keyframes vex-fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-ms-keyframes vex-fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-o-keyframes vex-fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes vex-rotation {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg); }
  100% {
    transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    -o-transform: rotate(359deg); } }

@-webkit-keyframes vex-rotation {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg); }
  100% {
    transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    -o-transform: rotate(359deg); } }

@-moz-keyframes vex-rotation {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg); }
  100% {
    transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    -o-transform: rotate(359deg); } }

@-ms-keyframes vex-rotation {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg); }
  100% {
    transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    -o-transform: rotate(359deg); } }

@-o-keyframes vex-rotation {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg); }
  100% {
    transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    -o-transform: rotate(359deg); } }

.vex, .vex *, .vex *:before, .vex *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.vex {
  position: fixed;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 9999999999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.vex-overlay {
  background: black;
  filter: alpha(opacity=40);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; }

.vex-overlay {
  animation: vex-fadein 0.5s;
  -webkit-animation: vex-fadein 0.5s;
  -moz-animation: vex-fadein 0.5s;
  -ms-animation: vex-fadein 0.5s;
  -o-animation: vex-fadein 0.5s;
  -webkit-backface-visibility: hidden;
  position: fixed;
  background: rgba(0, 0, 0, 0.4);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.vex.vex-closing .vex-overlay {
  animation: vex-fadeout 0.5s;
  -webkit-animation: vex-fadeout 0.5s;
  -moz-animation: vex-fadeout 0.5s;
  -ms-animation: vex-fadeout 0.5s;
  -o-animation: vex-fadeout 0.5s;
  -webkit-backface-visibility: hidden; }

.vex-content {
  animation: vex-fadein 0.5s;
  -webkit-animation: vex-fadein 0.5s;
  -moz-animation: vex-fadein 0.5s;
  -ms-animation: vex-fadein 0.5s;
  -o-animation: vex-fadein 0.5s;
  -webkit-backface-visibility: hidden;
  background: white; }

.vex.vex-closing .vex-content {
  animation: vex-fadeout 0.5s;
  -webkit-animation: vex-fadeout 0.5s;
  -moz-animation: vex-fadeout 0.5s;
  -ms-animation: vex-fadeout 0.5s;
  -o-animation: vex-fadeout 0.5s;
  -webkit-backface-visibility: hidden; }

.vex-close:before {
  font-family: Arial, sans-serif;
  content: "\00D7"; }

.vex-dialog-form {
  margin: 0; }

.vex-dialog-button {
  -webkit-appearance: none;
  cursor: pointer; }

.vex-loading-spinner {
  animation: vex-rotation 0.7s linear infinite;
  -webkit-animation: vex-rotation 0.7s linear infinite;
  -moz-animation: vex-rotation 0.7s linear infinite;
  -ms-animation: vex-rotation 0.7s linear infinite;
  -o-animation: vex-rotation 0.7s linear infinite;
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
  position: fixed;
  z-index: 1112;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2em;
  width: 2em;
  background: white; }

body.vex-open {
  overflow: hidden; }

/*-- Chart --*/
.c3 svg {
  font: 10px sans-serif; }

.c3 path, .c3 line {
  fill: none;
  stroke: #000; }

.c3 text {
  user-select: none; }

.c3-legend-item-tile,
.c3-xgrid-focus,
.c3-ygrid,
.c3-event-rect,
.c3-bars path {
  shape-rendering: crispEdges; }

.c3-chart-arc path {
  stroke: #fff; }

.c3-chart-arc text {
  fill: #fff;
  font-size: 13px; }

/*-- Axis --*/
/*-- Grid --*/
.c3-grid line {
  stroke: #aaa; }

.c3-grid text {
  fill: #aaa; }

.c3-xgrid, .c3-ygrid {
  stroke-dasharray: 3 3; }

/*-- Text on Chart --*/
.c3-text.c3-empty {
  fill: #808080;
  font-size: 2em; }

/*-- Line --*/
.c3-line {
  stroke-width: 1px; }

/*-- Point --*/
.c3-circle._expanded_ {
  stroke-width: 1px;
  stroke: white; }

.c3-selected-circle {
  fill: white;
  stroke-width: 2px; }

/*-- Bar --*/
.c3-bar {
  stroke-width: 0; }

.c3-bar._expanded_ {
  fill-opacity: 0.75; }

/*-- Arc --*/
.c3-chart-arcs-title {
  font-size: 1.3em; }

/*-- Focus --*/
.c3-target.c3-focused path.c3-line, .c3-target.c3-focused path.c3-step {
  stroke-width: 2px; }

/*-- Region --*/
.c3-region {
  fill: steelblue;
  fill-opacity: .1; }

/*-- Brush --*/
.c3-brush .extent {
  fill-opacity: .1; }

/*-- Select - Drag --*/
/*-- Legend --*/
.c3-legend-item {
  font-size: 12px; }

.c3-legend-background {
  opacity: 0.75;
  fill: white;
  stroke: lightgray;
  stroke-width: 1; }

/*-- Tooltip --*/
.c3-tooltip {
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
  empty-cells: show;
  box-shadow: 7px 7px 12px -9px #777777;
  opacity: 0.9; }

.c3-tooltip tr {
  border: 1px solid #CCC; }

.c3-tooltip th {
  background-color: #242424;
  font-size: 14px;
  padding: 2px 5px;
  text-align: left;
  color: #FFF; }

.c3-tooltip td {
  font-size: 13px;
  padding: 3px 6px;
  background-color: #fff;
  border-left: 1px dotted #999; }

.c3-tooltip td > span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px; }

.c3-tooltip td.value {
  text-align: right; }

.c3-area {
  stroke-width: 0;
  opacity: 0.2; }

.c3-chart-arcs .c3-chart-arcs-background {
  fill: #e0e0e0;
  stroke: none; }

.c3-chart-arcs .c3-chart-arcs-gauge-unit {
  fill: #000;
  font-size: 16px; }

.c3-chart-arcs .c3-chart-arcs-gauge-max {
  fill: #777; }

.c3-chart-arcs .c3-chart-arcs-gauge-min {
  fill: #777; }

.c3-chart-arc .c3-gauge-value {
  fill: #000;
  font-size: 28px; }

code[class*="language-"],
pre[class*="language-"] {
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  white-space: pre;
  white-space: pre-wrap;
  word-break: break-all;
  word-wrap: break-word;
  font-family: Menlo, Monaco, "Courier New", monospace;
  font-size: 15px;
  line-height: 1.5;
  color: #dccf8f;
  text-shadow: 0;
  margin-bottom: 28px; }

pre[class*="language-"], :not(pre) > code[class*="language-"] {
  border-radius: 5px;
  border: 1px solid #000;
  color: #DCCF8F;
  background: #181914; }

pre[class*="language-"] {
  padding: 12px; }

:not(pre) > code[class*="language-"] {
  padding: 2px 6px; }

code[class*="language-"] .namespace, pre[class*="language-"] .namespace {
  opacity: .7; }

code[class*="language-"] .token.comment, code[class*="language-"] .token.prolog, code[class*="language-"] .token.doctype, code[class*="language-"] .token.cdata, pre[class*="language-"] .token.comment, pre[class*="language-"] .token.prolog, pre[class*="language-"] .token.doctype, pre[class*="language-"] .token.cdata {
  color: #586e75;
  font-style: italic; }

code[class*="language-"] .token.null, code[class*="language-"] .token.operator, code[class*="language-"] .token.boolean, pre[class*="language-"] .token.null, pre[class*="language-"] .token.operator, pre[class*="language-"] .token.boolean {
  color: #dccf8f; }

code[class*="language-"] .token.number,
code[class*="language-"] .token.string, pre[class*="language-"] .token.string, pre[class*="language-"] .token.number {
  color: #468966; }

code[class*="language-"] .token.attr-name,
pre[class*="language-"] .token.attr-name {
  color: #b89859; }

code[class*="language-"] .token.entity, code[class*="language-"] .token.url, .language-css code[class*="language-"] .token.string, .style code[class*="language-"] .token.string, pre[class*="language-"] .token.entity, pre[class*="language-"] .token.url, .language-css pre[class*="language-"] .token.string, .style pre[class*="language-"] .token.string {
  color: #dccf8f; }

code[class*="language-"] .token.selector, pre[class*="language-"] .token.selector {
  color: #859900; }

code[class*="language-"] .token.atrule, code[class*="language-"] code[class*="language-"] .token.keyword, code[class*="language-"] .token.control, code[class*="language-"] .token.directive, code[class*="language-"] .token.important, code[class*="language-"] .token.unit, pre[class*="language-"] .token.atrule, pre[class*="language-"] .token.keyword, pre[class*="language-"] .token.control, pre[class*="language-"] .token.directive, pre[class*="language-"] .token.important, pre[class*="language-"] .token.unit {
  color: #cb4b16; }

.token.attr-value,
pre[class*="language-"] .token.attr-value {
  color: #468966; }

code[class*="language-"] .token.placeholder, code[class*="language-"] .token.variable, pre[class*="language-"] .token.placeholder, pre[class*="language-"] .token.variable {
  color: #b58900; }

.token.property, .token.tag, .token.boolean, .token.number, code[class*="language-"] .token.property, pre[class*="language-"] .token.property {
  color: #b89859; }

code[class*="language-"] .token.tag, pre[class*="language-"] .token.tag {
  color: #ffb03b; }

code[class*="language-"] .token.important, code[class*="language-"] .token.statement, pre[class*="language-"] .token.important, pre[class*="language-"] .token.statement {
  /* font-weight: bold; */
  color: #dc322f; }

code[class*="language-"] .token.punctuation, pre[class*="language-"] .token.punctuation {
  color: #dccf8f; }

code[class*="language-"] .token.entity, pre[class*="language-"] .token.entity {
  cursor: help; }

code[class*="language-"] .token.debug, pre[class*="language-"] .token.debug {
  color: red; }

.pojoaque-colors {
  color: #586e75;
  color: #b64926;
  color: #468966;
  color: #ffb03b;
  color: #b58900;
  color: #b89859;
  color: #dccf8f;
  color: #d3a60c;
  color: #cb4b16;
  color: #dc322f;
  color: #073642;
  color: #181914; }

/* jquery.Jcrop.css v0.9.12 - MIT License */
/*
  The outer-most container in a typical Jcrop instance
  If you are having difficulty with formatting related to styles
  on a parent element, place any fixes here or in a like selector

  You can also style this element if you want to add a border, etc
  A better method for styling can be seen below with .jcrop-light
  (Add a class to the holder and style elements for that extended class)
*/
.jcrop-holder {
  direction: ltr;
  text-align: left; }

/* Selection Border */
.jcrop-vline,
.jcrop-hline {
  background: #ffffff url("/imgs/common/jcrop/Jcrop.gif");
  font-size: 0;
  position: absolute; }

.jcrop-vline {
  height: 100%;
  width: 1px !important; }

.jcrop-vline.right {
  right: 0; }

.jcrop-hline {
  height: 1px !important;
  width: 100%; }

.jcrop-hline.bottom {
  bottom: 0; }

/* Invisible click targets */
.jcrop-tracker {
  height: 100%;
  width: 100%;
  /* "turn off" link highlight */
  -webkit-tap-highlight-color: transparent;
  /* disable callout, image save panel */
  -webkit-touch-callout: none;
  /* disable cut copy paste */
  -webkit-user-select: none; }

/* Selection Handles */
.jcrop-handle {
  background-color: #333333;
  border: 1px #eeeeee solid;
  width: 7px;
  height: 7px;
  font-size: 1px; }

.jcrop-handle.ord-n {
  left: 50%;
  margin-left: -4px;
  margin-top: -4px;
  top: 0; }

.jcrop-handle.ord-s {
  bottom: 0;
  left: 50%;
  margin-bottom: -4px;
  margin-left: -4px; }

.jcrop-handle.ord-e {
  margin-right: -4px;
  margin-top: -4px;
  right: 0;
  top: 50%; }

.jcrop-handle.ord-w {
  left: 0;
  margin-left: -4px;
  margin-top: -4px;
  top: 50%; }

.jcrop-handle.ord-nw {
  left: 0;
  margin-left: -4px;
  margin-top: -4px;
  top: 0; }

.jcrop-handle.ord-ne {
  margin-right: -4px;
  margin-top: -4px;
  right: 0;
  top: 0; }

.jcrop-handle.ord-se {
  bottom: 0;
  margin-bottom: -4px;
  margin-right: -4px;
  right: 0; }

.jcrop-handle.ord-sw {
  bottom: 0;
  left: 0;
  margin-bottom: -4px;
  margin-left: -4px; }

/* Dragbars */
.jcrop-dragbar.ord-n,
.jcrop-dragbar.ord-s {
  height: 7px;
  width: 100%; }

.jcrop-dragbar.ord-e,
.jcrop-dragbar.ord-w {
  height: 100%;
  width: 7px; }

.jcrop-dragbar.ord-n {
  margin-top: -4px; }

.jcrop-dragbar.ord-s {
  bottom: 0;
  margin-bottom: -4px; }

.jcrop-dragbar.ord-e {
  margin-right: -4px;
  right: 0; }

.jcrop-dragbar.ord-w {
  margin-left: -4px; }

/* The "jcrop-light" class/extension */
.jcrop-light .jcrop-vline,
.jcrop-light .jcrop-hline {
  background: #ffffff;
  filter: alpha(opacity=70) !important;
  opacity: 0.7 !important; }

.jcrop-light .jcrop-handle {
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  background-color: #000000;
  border-color: #ffffff;
  border-radius: 3px; }

/* The "jcrop-dark" class/extension */
.jcrop-dark .jcrop-vline,
.jcrop-dark .jcrop-hline {
  background: #000000;
  filter: alpha(opacity=70) !important;
  opacity: 0.7 !important; }

.jcrop-dark .jcrop-handle {
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  background-color: #ffffff;
  border-color: #000000;
  border-radius: 3px; }

/* Simple macro to turn off the antlines */
.solid-line .jcrop-vline,
.solid-line .jcrop-hline {
  background: #ffffff; }

/* Fix for twitter bootstrap et al. */
.jcrop-holder img,
img.jcrop-preview {
  max-width: none; }

.morris-hover {
  position: absolute;
  z-index: 1000; }

.morris-hover.morris-default-style {
  border-radius: 10px;
  padding: 6px;
  color: #666;
  background: rgba(255, 255, 255, 0.8);
  border: solid 2px rgba(230, 230, 230, 0.8);
  font-family: sans-serif;
  font-size: 12px;
  text-align: center; }

.morris-hover.morris-default-style .morris-hover-row-label {
  font-weight: bold;
  margin: 0.25em 0; }

.morris-hover.morris-default-style .morris-hover-point {
  white-space: nowrap;
  margin: 0.1em 0; }

/* required styles */
.leaflet-map-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-pane,
.leaflet-tile-container,
.leaflet-overlay-pane,
.leaflet-shadow-pane,
.leaflet-marker-pane,
.leaflet-popup-pane,
.leaflet-overlay-pane svg,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0; }

.leaflet-container {
  overflow: hidden;
  -ms-touch-action: none; }

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none; }

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block; }

/* map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container img {
  max-width: none !important; }

/* stupid Android 2 doesn't understand "max-width: none" properly */
.leaflet-container img.leaflet-image-layer {
  max-width: 15000px !important; }

.leaflet-tile {
  filter: inherit;
  visibility: hidden; }

.leaflet-tile-loaded {
  visibility: inherit; }

.leaflet-zoom-box {
  width: 0;
  height: 0; }

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none; }

.leaflet-tile-pane {
  z-index: 2; }

.leaflet-objects-pane {
  z-index: 3; }

.leaflet-overlay-pane {
  z-index: 4; }

.leaflet-shadow-pane {
  z-index: 5; }

.leaflet-marker-pane {
  z-index: 6; }

.leaflet-popup-pane {
  z-index: 7; }

.leaflet-vml-shape {
  width: 1px;
  height: 1px; }

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute; }

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 7;
  pointer-events: auto; }

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none; }

.leaflet-top {
  top: 0; }

.leaflet-right {
  right: 0; }

.leaflet-bottom {
  bottom: 0; }

.leaflet-left {
  left: 0; }

.leaflet-control {
  float: left;
  clear: both; }

.leaflet-right .leaflet-control {
  float: right; }

.leaflet-top .leaflet-control {
  margin-top: 10px; }

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px; }

.leaflet-left .leaflet-control {
  margin-left: 10px; }

.leaflet-right .leaflet-control {
  margin-right: 10px; }

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile,
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }

.leaflet-fade-anim .leaflet-tile-loaded,
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1; }

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); }

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile,
.leaflet-touching .leaflet-zoom-animated {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none; }

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden; }

/* cursors */
.leaflet-clickable {
  cursor: pointer; }

.leaflet-container {
  cursor: -webkit-grab;
  cursor: -moz-grab; }

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto; }

.leaflet-dragging .leaflet-container,
.leaflet-dragging .leaflet-clickable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing; }

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0; }

.leaflet-container a {
  color: #0078A8; }

.leaflet-container a.leaflet-active {
  outline: 2px solid orange; }

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5); }

/* general typography */
.leaflet-container {
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; }

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px; }

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black; }

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block; }

.leaflet-bar a:hover {
  background-color: #f4f4f4; }

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px; }

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none; }

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb; }

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px; }

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px; }

.leaflet-control-zoom-out {
  font-size: 20px; }

.leaflet-touch .leaflet-control-zoom-in {
  font-size: 22px; }

.leaflet-touch .leaflet-control-zoom-out {
  font-size: 24px; }

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px; }

.leaflet-control-layers-toggle {
  background-image: url("/imgs/common/leaflet/layers.png");
  width: 36px;
  height: 36px; }

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("/imgs/common/leaflet/layers-2x.png");
  background-size: 26px 26px; }

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px; }

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none; }

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative; }

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff; }

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px; }

.leaflet-control-layers label {
  display: block; }

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px; }

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0; }

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333; }

.leaflet-control-attribution a {
  text-decoration: none; }

.leaflet-control-attribution a:hover {
  text-decoration: underline; }

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px; }

.leaflet-left .leaflet-control-scale {
  margin-left: 5px; }

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px; }

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5); }

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px; }

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777; }

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none; }

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box; }

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center; }

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px; }

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4; }

.leaflet-popup-content p {
  margin: 18px 0; }

.leaflet-popup-tip-container {
  margin: 0 auto;
  width: 40px;
  height: 20px;
  position: relative;
  overflow: hidden; }

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); }

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent; }

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999; }

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd; }

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1; }

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); }

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px; }

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999; }

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666; }

/*
Version: 3.5.1 Timestamp: Tue Jul 22 18:58:56 EDT 2014
*/
.select2-container {
  margin: 0;
  position: relative;
  display: inline-block;
  vertical-align: middle; }

.select2-container,
.select2-drop,
.select2-search,
.select2-search input {
  box-sizing: border-box;
  /* css3 */ }

.select2-container .select2-choice {
  display: block;
  height: 25px;
  padding: 0 0 0 8px;
  overflow: hidden;
  position: relative;
  border: 1px solid #aaa;
  white-space: nowrap;
  line-height: 20px;
  color: #444;
  text-decoration: none;
  border-radius: 4px;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  user-select: none;
  background-color: #fff; }

.select2-container.select2-drop-above .select2-choice {
  border-bottom-color: #aaa;
  border-radius: 0 0 4px 4px; }

.select2-container.select2-allowclear .select2-choice .select2-chosen {
  margin-right: 42px; }

.select2-container .select2-choice > .select2-chosen {
  margin-right: 26px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  float: none;
  width: auto; }

.select2-container .select2-choice abbr {
  display: none;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 24px;
  top: 4px;
  font-size: 1px;
  text-decoration: none;
  border: 0;
  background: url("/imgs/common/select2/select2.png") right top no-repeat;
  cursor: pointer;
  outline: 0; }

.select2-container.select2-allowclear .select2-choice abbr {
  display: inline-block; }

.select2-container .select2-choice abbr:hover {
  background-position: right -11px;
  cursor: pointer; }

.select2-drop-mask {
  border: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 9998;
  background-color: #fff; }

.select2-drop {
  width: 100%;
  margin-top: -1px;
  position: absolute;
  z-index: 9999;
  top: 100%;
  background: #fff;
  color: #000;
  border: 1px solid #aaa;
  border-top: 0;
  border-radius: 0 0 4px 4px; }

.select2-drop.select2-drop-above {
  margin-top: 1px;
  border-top: 1px solid #aaa;
  border-bottom: 0;
  border-radius: 4px 4px 0 0; }

.select2-drop-active {
  border: 1px solid #5897fb;
  border-top: none; }

.select2-drop.select2-drop-above.select2-drop-active {
  border-top: 1px solid #5897fb; }

.select2-drop-auto-width {
  border-top: 1px solid #aaa;
  width: auto; }

.select2-drop-auto-width .select2-search {
  padding-top: 4px; }

.select2-container .select2-choice .select2-arrow {
  display: inline-block;
  width: 18px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: 1px solid #aaa;
  border-radius: 0 4px 4px 0;
  background-clip: padding-box;
  background: #ccc; }

.select2-container .select2-choice .select2-arrow b {
  top: -3px;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  background: url("/imgs/common/select2/select2.png") no-repeat 0 1px; }

.select2-search {
  display: inline-block;
  width: 100%;
  min-height: 26px;
  margin: 0;
  padding-left: 4px;
  padding-right: 4px;
  position: relative;
  z-index: 10000;
  white-space: nowrap; }

.select2-search input {
  width: 100%;
  height: 25px;
  padding: 4px 20px 4px 5px;
  margin: 0;
  outline: 0;
  font-family: sans-serif;
  font-size: 1em;
  border: 1px solid #aaa;
  border-radius: 0;
  background: #fff url("/imgs/common/select2/select2.png") no-repeat 100% -22px; }

.select2-drop.select2-drop-above .select2-search input {
  margin-top: 4px; }

.select2-search input.select2-active {
  background: #fff url("/imgs/common/select2/select2-spinner.gif") no-repeat 100%; }

.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none; }

.select2-dropdown-open .select2-choice {
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #eee; }

.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-dropdown-open.select2-drop-above .select2-choices {
  border: 1px solid #5897fb;
  border-top-color: transparent; }

.select2-dropdown-open .select2-choice .select2-arrow {
  background: transparent;
  border-left: none; }

.select2-dropdown-open .select2-choice .select2-arrow b {
  background-position: -18px 1px; }

.select2-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/* results */
.select2-results {
  max-height: 200px;
  padding: 0 0 0 4px;
  margin: 4px 4px 4px 0;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.select2-results ul.select2-result-sub {
  margin: 0;
  padding-left: 0; }

.select2-results li {
  list-style: none;
  display: list-item;
  background-image: none; }

.select2-results li.select2-result-with-children > .select2-result-label {
  font-weight: bold; }

.select2-results .select2-result-label {
  padding: 3px 7px 4px;
  margin: 0;
  cursor: pointer;
  min-height: 1em;
  -webkit-touch-callout: none;
  user-select: none; }

.select2-results-dept-1 .select2-result-label {
  padding-left: 20px; }

.select2-results-dept-2 .select2-result-label {
  padding-left: 40px; }

.select2-results-dept-3 .select2-result-label {
  padding-left: 60px; }

.select2-results-dept-4 .select2-result-label {
  padding-left: 80px; }

.select2-results-dept-5 .select2-result-label {
  padding-left: 100px; }

.select2-results-dept-6 .select2-result-label {
  padding-left: 110px; }

.select2-results-dept-7 .select2-result-label {
  padding-left: 120px; }

.select2-results .select2-highlighted {
  background: #3875d7;
  color: #fff; }

.select2-results li em {
  background: #feffde;
  font-style: normal; }

.select2-results .select2-highlighted em {
  background: transparent; }

.select2-results .select2-highlighted ul {
  background: #fff;
  color: #000; }

.select2-results .select2-no-results,
.select2-results .select2-searching,
.select2-results .select2-ajax-error,
.select2-results .select2-selection-limit {
  background: #f4f4f4;
  display: list-item;
  padding-left: 5px; }

/*
disabled look for disabled choices in the results dropdown
*/
.select2-results .select2-disabled.select2-highlighted {
  color: #666;
  background: #f4f4f4;
  display: list-item;
  cursor: default; }

.select2-results .select2-disabled {
  background: #f4f4f4;
  display: list-item;
  cursor: default; }

.select2-results .select2-selected {
  display: none; }

.select2-more-results.select2-active {
  background: #f4f4f4 url("/imgs/common/select2/select2-spinner.gif") no-repeat 100%; }

.select2-results .select2-ajax-error {
  background: rgba(255, 50, 50, 0.2); }

.select2-more-results {
  background: #f4f4f4;
  display: list-item; }

/* disabled styles */
.select2-container.select2-container-disabled .select2-choice {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default; }

.select2-container.select2-container-disabled .select2-choice .select2-arrow {
  background-color: #f4f4f4;
  background-image: none;
  border-left: 0; }

.select2-container.select2-container-disabled .select2-choice abbr {
  display: none; }

/* multiselect */
.select2-container-multi .select2-choices {
  margin: 0;
  padding: 0 5px 0 0;
  position: relative;
  border: 1px solid #aaa;
  cursor: text;
  overflow: hidden;
  background-color: #fff; }

.select2-locked {
  padding: 3px 5px 3px 5px !important; }

.select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none; }

.select2-container-multi .select2-choices li {
  float: left;
  list-style: none; }

.select2-container-multi .select2-choices .select2-search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.select2-container-multi .select2-choices .select2-search-field input {
  padding: 0px 0px 0px 5px;
  margin: 1px 0;
  font-family: sans-serif;
  font-size: 100%;
  color: #666;
  outline: 0;
  border: 0;
  background: transparent !important; }

.select2-container-multi .select2-choices .select2-search-field input.select2-active {
  background: #fff url("/imgs/common/select2/select2-spinner.gif") no-repeat 100% !important; }

.select2-default {
  color: #999 !important; }

.select2-container-multi .select2-choices .select2-search-choice {
  font-size: 12px;
  padding: 1px 5px 3px 18px;
  margin: 2px 0 3px 5px;
  position: relative;
  line-height: 11px;
  color: #333;
  cursor: default;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  user-select: none;
  background-color: #e4e4e4; }

.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
  cursor: default; }

.select2-container-multi .select2-choices .select2-search-choice-focus {
  background: #d4d4d4; }

.select2-search-choice-close {
  display: block;
  width: 12px;
  height: 13px;
  position: absolute;
  right: 3px;
  top: 1px;
  font-size: 1px;
  outline: none;
  background: url("/imgs/common/select2/select2.png") right top no-repeat; }

.select2-container-multi .select2-search-choice-close {
  left: 3px; }

.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
  background-position: right -11px; }

.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
  background-position: right -11px; }

/* disabled styles */
.select2-container-multi.select2-container-disabled .select2-choices {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default; }

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
  padding: 3px 5px 3px 5px;
  border: 1px solid #ddd;
  background-image: none;
  background-color: #f4f4f4; }

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
  display: none;
  background: none; }

/* end multiselect */
.select2-result-selectable .select2-match,
.select2-result-unselectable .select2-match {
  text-decoration: underline; }

.select2-offscreen, .select2-offscreen:focus {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important; }

.select2-display-none {
  display: none; }

.select2-measure-scrollbar {
  position: absolute;
  top: -10000px;
  left: -10000px;
  width: 100px;
  height: 100px;
  overflow: scroll; }

/* Retina-ize icons */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
  .select2-search input,
  .select2-search-choice-close,
  .select2-container .select2-choice abbr,
  .select2-container .select2-choice .select2-arrow b {
    background-image: url("/imgs/common/select2/select2x2.png") !important;
    background-repeat: no-repeat !important;
    background-size: 60px 40px !important; }
  .select2-search input {
    background-position: 100% -21px !important; } }

/* SELECT2 BOOTSTRAP */
.form-control .select2-choice {
  border: 0;
  border-radius: 2px; }

.form-control .select2-choice .select2-arrow {
  border-radius: 0 2px 2px 0; }

.form-control.select2-container {
  height: auto !important;
  padding: 0; }

.form-control.select2-container.select2-dropdown-open {
  border-color: #5897FB;
  border-radius: 3px 3px 0 0; }

.form-control .select2-container.select2-dropdown-open .select2-choices {
  border-radius: 3px 3px 0 0; }

.form-control.select2-container .select2-choices {
  border: 0 !important;
  border-radius: 3px; }

.control-group.warning .select2-container .select2-choice,
.control-group.warning .select2-container .select2-choices,
.control-group.warning .select2-container-active .select2-choice,
.control-group.warning .select2-container-active .select2-choices,
.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choice,
.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choices,
.control-group.warning .select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #C09853 !important; }

.control-group.warning .select2-container .select2-choice div {
  border-left: 1px solid #C09853 !important;
  background: #FCF8E3 !important; }

.control-group.error .select2-container .select2-choice,
.control-group.error .select2-container .select2-choices,
.control-group.error .select2-container-active .select2-choice,
.control-group.error .select2-container-active .select2-choices,
.control-group.error .select2-dropdown-open.select2-drop-above .select2-choice,
.control-group.error .select2-dropdown-open.select2-drop-above .select2-choices,
.control-group.error .select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #B94A48 !important; }

.control-group.error .select2-container .select2-choice div {
  border-left: 1px solid #B94A48 !important;
  background: #F2DEDE !important; }

.control-group.info .select2-container .select2-choice,
.control-group.info .select2-container .select2-choices,
.control-group.info .select2-container-active .select2-choice,
.control-group.info .select2-container-active .select2-choices,
.control-group.info .select2-dropdown-open.select2-drop-above .select2-choice,
.control-group.info .select2-dropdown-open.select2-drop-above .select2-choices,
.control-group.info .select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #3A87AD !important; }

.control-group.info .select2-container .select2-choice div {
  border-left: 1px solid #3A87AD !important;
  background: #D9EDF7 !important; }

.control-group.success .select2-container .select2-choice,
.control-group.success .select2-container .select2-choices,
.control-group.success .select2-container-active .select2-choice,
.control-group.success .select2-container-active .select2-choices,
.control-group.success .select2-dropdown-open.select2-drop-above .select2-choice,
.control-group.success .select2-dropdown-open.select2-drop-above .select2-choices,
.control-group.success .select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #468847 !important; }

.control-group.success .select2-container .select2-choice div {
  border-left: 1px solid #468847 !important;
  background: #DFF0D8 !important; }

/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
  box-sizing: border-box;
  margin-top: 28px;
  margin-bottom: 28px; }

.dropzone {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(0, 0, 0, 0.02);
  padding: 1em; }

.dropzone.dz-clickable {
  cursor: pointer; }

.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
  cursor: pointer; }

.dropzone.dz-clickable * {
  cursor: default; }

.dropzone .dz-message {
  opacity: 1; }

.dropzone.dz-drag-hover {
  border-color: rgba(0, 0, 0, 0.15);
  background: rgba(0, 0, 0, 0.04); }

.dropzone.dz-started .dz-message {
  display: none; }

.dropzone .dz-preview,
.dropzone-previews .dz-preview {
  background: rgba(255, 255, 255, 0.8);
  position: relative;
  display: inline-block;
  margin: 17px;
  vertical-align: top;
  border: 1px solid #acacac;
  padding: 6px 6px 6px 6px; }

.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
  display: none; }

.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
  width: 100px;
  height: 100px;
  position: relative;
  background: #ebebeb;
  padding: 5px;
  margin-bottom: 22px; }

.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
  overflow: hidden;
  height: 100%; }

.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px; }

.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
  position: absolute;
  bottom: -28px;
  left: 3px;
  height: 28px;
  line-height: 28px; }

.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
  display: block; }

.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
  display: block; }

.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
  display: none; }

.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  display: none;
  position: absolute;
  width: 40px;
  height: 40px;
  font-size: 30px;
  text-align: center;
  right: -10px;
  top: -10px; }

.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  color: #8cc657; }

.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  color: #ee162d; }

.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
  position: absolute;
  top: 100px;
  left: 6px;
  right: 6px;
  height: 6px;
  background: #d7d7d7;
  display: none; }

.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0%;
  background-color: #8cc657; }

.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
  display: block; }

.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
  display: none;
  position: absolute;
  top: -5px;
  left: -20px;
  background: rgba(245, 245, 245, 0.8);
  padding: 8px 10px;
  color: #800;
  min-width: 140px;
  max-width: 500px;
  z-index: 500; }

.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
  display: block; }

.dropzone {
  border: 1px solid rgba(0, 0, 0, 0.03);
  min-height: 360px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.03);
  padding: 23px; }

.dropzone .dz-default.dz-message {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
  background-image: url("/imgs/common/dropzone/spritemap.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  position: absolute;
  width: 428px;
  height: 123px;
  margin-left: -214px;
  margin-top: -61.5px;
  top: 50%;
  left: 50%; }

@media all and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 1.5 / 1), (min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx) {
  .dropzone .dz-default.dz-message {
    background-image: url("/imgs/common/dropzone/spritemap@2x.png");
    background-size: 428px 406px; } }

.dropzone .dz-default.dz-message span {
  display: none; }

.dropzone.dz-square .dz-default.dz-message {
  background-position: 0 -123px;
  width: 268px;
  margin-left: -134px;
  height: 174px;
  margin-top: -87px; }

.dropzone.dz-drag-hover .dz-message {
  opacity: 0.15; }

.dropzone.dz-started .dz-message {
  display: block;
  opacity: 0; }

.dropzone .dz-preview,
.dropzone-previews .dz-preview {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.16);
  font-size: 14px; }

.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
  display: block;
  opacity: 0.1; }

.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
  opacity: 1; }

.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
  opacity: 1; }

.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
  background: #ee1e2d; }

.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  display: block;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  background-image: url("/imgs/common/dropzone/spritemap.png");
  background-repeat: no-repeat; }

@media all and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 1.5 / 1), (min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx) {
  .dropzone .dz-preview .dz-error-mark,
  .dropzone-previews .dz-preview .dz-error-mark,
  .dropzone .dz-preview .dz-success-mark,
  .dropzone-previews .dz-preview .dz-success-mark {
    background-image: url("/imgs/common/dropzone/spritemap@2x.png");
    background-size: 428px 406px; } }

.dropzone .dz-preview .dz-error-mark span,
.dropzone-previews .dz-preview .dz-error-mark span,
.dropzone .dz-preview .dz-success-mark span,
.dropzone-previews .dz-preview .dz-success-mark span {
  display: none; }

.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  background-position: -268px -123px; }

.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  background-position: -268px -163px; }

.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
  animation: loading 0.4s linear infinite;
  transition: width 0.3s ease-in-out;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-image: url("/imgs/common/dropzone/spritemap.png");
  background-repeat: repeat-x;
  background-position: 0px -400px; }

@media all and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 1.5 / 1), (min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx) {
  .dropzone .dz-preview .dz-progress .dz-upload,
  .dropzone-previews .dz-preview .dz-progress .dz-upload {
    background-image: url("/imgs/common/dropzone/spritemap@2x.png");
    background-size: 428px 406px; } }

.dropzone .dz-preview.dz-success .dz-progress,
.dropzone-previews .dz-preview.dz-success .dz-progress {
  display: block;
  opacity: 0;
  transition: opacity 0.4s ease-in-out; }

.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease-in-out; }

.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
  opacity: 1; }

.dropzone a.dz-remove,
.dropzone-previews a.dz-remove {
  background-image: linear-gradient(to bottom, #fafafa, #eee);
  border-radius: 2px;
  border: 1px solid #eee;
  text-decoration: none;
  display: block;
  padding: 4px 5px;
  text-align: center;
  color: #aaa;
  margin-top: 26px; }

.dropzone a.dz-remove:hover,
.dropzone-previews a.dz-remove:hover {
  color: #666; }

@-moz-keyframes loading {
  from {
    background-position: 0 -400px; }
  to {
    background-position: -7px -400px; } }

@-webkit-keyframes loading {
  from {
    background-position: 0 -400px; }
  to {
    background-position: -7px -400px; } }

@-o-keyframes loading {
  from {
    background-position: 0 -400px; }
  to {
    background-position: -7px -400px; } }

@keyframes loading {
  from {
    background-position: 0 -400px; }
  to {
    background-position: -7px -400px; } }

/*
    TimelineJS - ver. 2.33.1 - 2014-06-24
    Copyright (c) 2012-2013 Northwestern University
    a project of the Northwestern University Knight Lab, originally created by Zach Wise
    https://github.com/NUKnightLab/TimelineJS
    This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
    If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/*@noflip*/
.vco-storyjs div * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

/*@noflip*/
.vco-storyjs h1, .vco-storyjs h2, .vco-storyjs h3, .vco-storyjs h4, .vco-storyjs h5, .vco-storyjs h6, .vco-storyjs p, .vco-storyjs blockquote, .vco-storyjs pre, .vco-storyjs a, .vco-storyjs abbr, .vco-storyjs acronym, .vco-storyjs address, .vco-storyjs cite, .vco-storyjs code, .vco-storyjs del, .vco-storyjs dfn, .vco-storyjs em, .vco-storyjs img, .vco-storyjs q, .vco-storyjs s, .vco-storyjs samp, .vco-storyjs small, .vco-storyjs strike, .vco-storyjs strong, .vco-storyjs sub, .vco-storyjs sup, .vco-storyjs tt, .vco-storyjs var, .vco-storyjs dd, .vco-storyjs dl, .vco-storyjs dt, .vco-storyjs li, .vco-storyjs ol, .vco-storyjs ul, .vco-storyjs fieldset, .vco-storyjs form, .vco-storyjs label, .vco-storyjs legend, .vco-storyjs button, .vco-storyjs table, .vco-storyjs caption, .vco-storyjs tbody, .vco-storyjs tfoot, .vco-storyjs thead, .vco-storyjs tr, .vco-storyjs th, .vco-storyjs td, .vco-storyjs .vco-container, .vco-storyjs .content-container, .vco-storyjs .media, .vco-storyjs .text, .vco-storyjs .vco-slider, .vco-storyjs .slider, .vco-storyjs .date, .vco-storyjs .title, .vco-storyjs .messege, .vco-storyjs .map, .vco-storyjs .credit, .vco-storyjs .caption, .vco-storyjs .vco-feedback, .vco-storyjs .vco-feature, .vco-storyjs .toolbar, .vco-storyjs .marker, .vco-storyjs .dot, .vco-storyjs .line, .vco-storyjs .flag, .vco-storyjs .time, .vco-storyjs .era, .vco-storyjs .major, .vco-storyjs .minor, .vco-storyjs .vco-navigation, .vco-storyjs .start, .vco-storyjs .active {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
  line-height: 1;
  font-family: inherit;
  width: auto;
  float: none; }

/*@noflip*/
.vco-storyjs h1, .vco-storyjs h2, .vco-storyjs h3, .vco-storyjs h4, .vco-storyjs h5, .vco-storyjs h6 {
  clear: none; }

/*@noflip*/
.vco-storyjs table {
  border-collapse: collapse;
  border-spacing: 0; }

/*@noflip*/
.vco-storyjs ol, .vco-storyjs ul {
  list-style: none; }

/*@noflip*/
.vco-storyjs q:before, .vco-storyjs q:after, .vco-storyjs blockquote:before, .vco-storyjs blockquote:after {
  content: ""; }

/*@noflip*/
.vco-storyjs a:focus {
  outline: thin dotted; }

/*@noflip*/
.vco-storyjs a:hover, .vco-storyjs a:active {
  outline: 0; }

/*@noflip*/
.vco-storyjs article, .vco-storyjs aside, .vco-storyjs details, .vco-storyjs figcaption, .vco-storyjs figure, .vco-storyjs footer, .vco-storyjs header, .vco-storyjs hgroup, .vco-storyjs nav, .vco-storyjs section {
  display: block; }

/*@noflip*/
.vco-storyjs audio, .vco-storyjs canvas, .vco-storyjs video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

/*@noflip*/
.vco-storyjs audio:not([controls]) {
  display: none; }

/*@noflip*/
.vco-storyjs div {
  max-width: none; }

/*@noflip*/
.vco-storyjs sub, .vco-storyjs sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/*@noflip*/
.vco-storyjs sup {
  top: -0.5em; }

/*@noflip*/
.vco-storyjs sub {
  bottom: -0.25em; }

/*@noflip*/
.vco-storyjs img {
  border: 0;
  -ms-interpolation-mode: bicubic; }

/*@noflip*/
.vco-storyjs button, .vco-storyjs input, .vco-storyjs select, .vco-storyjs textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

/*@noflip*/
.vco-storyjs button, .vco-storyjs input {
  line-height: normal;
  *overflow: visible; }

/*@noflip*/
.vco-storyjs button::-moz-focus-inner, .vco-storyjs input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*@noflip*/
.vco-storyjs button, .vco-storyjs input[type="button"], .vco-storyjs input[type="reset"], .vco-storyjs input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button; }

/*@noflip*/
.vco-storyjs input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

/*@noflip*/
.vco-storyjs input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/*@noflip*/
.vco-storyjs textarea {
  overflow: auto;
  vertical-align: top; }

/*@noflip*/
.vco-storyjs {
  font-family: Lato, sans-serif; }

.vco-storyjs .twitter, .vco-storyjs .vcard, .vco-storyjs .messege, .vco-storyjs .credit, .vco-storyjs .caption, .vco-storyjs .zoom-in, .vco-storyjs .zoom-out, .vco-storyjs .back-home, .vco-storyjs .time-interval div, .vco-storyjs .time-interval-major div, .vco-storyjs .nav-container {
  font-family: Lato, sans-serif !important; }

/*@noflip*/
.vco-storyjs h1.date, .vco-storyjs h2.date, .vco-storyjs h3.date, .vco-storyjs h4.date, .vco-storyjs h5.date, .vco-storyjs h6.date {
  font-family: Lato, sans-serif !important; }

/*@noflip*/
.vco-storyjs .timenav h1, .vco-storyjs .flag-content h1, .vco-storyjs .era h1, .vco-storyjs .timenav h2, .vco-storyjs .flag-content h2, .vco-storyjs .era h2, .vco-storyjs .timenav h3, .vco-storyjs .flag-content h3, .vco-storyjs .era h3, .vco-storyjs .timenav h4, .vco-storyjs .flag-content h4, .vco-storyjs .era h4, .vco-storyjs .timenav h5, .vco-storyjs .flag-content h5, .vco-storyjs .era h5, .vco-storyjs .timenav h6, .vco-storyjs .flag-content h6, .vco-storyjs .era h6 {
  font-family: Lato, sans-serif !important; }

/*@noflip*/
.vco-storyjs p, .vco-storyjs blockquote, .vco-storyjs blockquote p, .vco-storyjs .twitter blockquote p {
  font-family: Lato, sans-serif !important; }

/*@noflip*/
.vco-storyjs .vco-feature h1, .vco-storyjs .vco-feature h2, .vco-storyjs .vco-feature h3, .vco-storyjs .vco-feature h4, .vco-storyjs .vco-feature h5, .vco-storyjs .vco-feature h6 {
  font-family: Lato, sans-serif; }

/*@noflip*/
.timeline-tooltip {
  font-family: Lato, sans-serif; }

/*@noflip*/
.vco-storyjs {
  font-size: 15px;
  font-weight: normal;
  line-height: 20px;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

.vco-storyjs p {
  font-size: 15px;
  font-weight: normal;
  line-height: 20px;
  margin-bottom: 20px;
  color: #666; }

.vco-storyjs p small {
  font-size: 12px;
  line-height: 17px; }

/*@noflip*/
.vco-storyjs p:first-child {
  margin-top: 20px; }

/*@noflip*/
.vco-storyjs .vco-navigation p {
  color: #999; }

/*@noflip*/
.vco-storyjs .vco-feature h3, .vco-storyjs .vco-feature h4, .vco-storyjs .vco-feature h5, .vco-storyjs .vco-feature h6 {
  margin-bottom: 15px; }

/*@noflip*/
.vco-storyjs .vco-feature p {
  color: #666; }

/*@noflip*/
.vco-storyjs .vco-feature blockquote, .vco-storyjs .vco-feature blockquote p {
  color: #000; }

/*@noflip*/
.vco-storyjs .date a, .vco-storyjs .title a {
  color: #999; }

/*@noflip*/
.vco-storyjs .hyphenate {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word; }

/*@noflip*/
.vco-storyjs h1, .vco-storyjs h2, .vco-storyjs h3, .vco-storyjs h4, .vco-storyjs h5, .vco-storyjs h6 {
  font-weight: normal;
  color: #000;
  text-transform: none; }

.vco-storyjs h1 a, .vco-storyjs h2 a, .vco-storyjs h3 a, .vco-storyjs h4 a, .vco-storyjs h5 a, .vco-storyjs h6 a {
  color: #999; }

/*@noflip*/
.vco-storyjs h1 small, .vco-storyjs h2 small, .vco-storyjs h3 small, .vco-storyjs h4 small, .vco-storyjs h5 small, .vco-storyjs h6 small {
  color: #999; }

/*@noflip*/
.vco-storyjs h1.date, .vco-storyjs h2.date, .vco-storyjs h3.date, .vco-storyjs h4.date, .vco-storyjs h5.date, .vco-storyjs h6.date {
  font-weight: bold; }

/*@noflip*/
.vco-storyjs h2.start {
  font-size: 36px;
  line-height: 38px;
  margin-bottom: 15px; }

/*@noflip*/
.vco-storyjs h1 {
  margin-bottom: 15px;
  font-size: 32px;
  line-height: 34px; }

.vco-storyjs h1 small {
  font-size: 18px; }

/*@noflip*/
.vco-storyjs h2 {
  margin-bottom: 15px;
  font-size: 28px;
  line-height: 30px; }

.vco-storyjs h2 small {
  font-size: 14px;
  line-height: 16px; }

/*@noflip*/
.vco-storyjs h2.date {
  font-size: 16px;
  line-height: 18px;
  margin-bottom: 3.75px;
  color: #999; }

/*@noflip*/
.vco-storyjs h3, .vco-storyjs h4, .vco-storyjs h5, .vco-storyjs h6 {
  line-height: 40px; }

.vco-storyjs h3 .active, .vco-storyjs h4 .active, .vco-storyjs h5 .active, .vco-storyjs h6 .active {
  color: #08c; }

/*@noflip*/
.vco-storyjs h3 {
  font-size: 28px;
  line-height: 30px; }

.vco-storyjs h3 small {
  font-size: 14px; }

/*@noflip*/
.vco-storyjs h4 {
  font-size: 20px;
  line-height: 22px; }

.vco-storyjs h4 small {
  font-size: 12px; }

/*@noflip*/
.vco-storyjs h5 {
  font-size: 16px;
  line-height: 18px; }

/*@noflip*/
.vco-storyjs h6 {
  font-size: 13px;
  line-height: 14px;
  text-transform: uppercase; }

/*@noflip*/
.vco-storyjs strong {
  font-weight: bold;
  font-style: inherit; }

/*@noflip*/
.vco-storyjs em {
  font-style: italic;
  font-weight: inherit; }

/*@noflip*/
.vco-storyjs Q {
  quotes: 'â€ž' 'â€œ';
  font-style: italic; }

/*@noflip*/
.vco-storyjs blockquote, .vco-storyjs blockquote p {
  font-size: 24px;
  line-height: 32px;
  text-align: left;
  margin-bottom: 6px;
  padding-top: 10px;
  background-color: #fff;
  color: #000; }

/*@noflip*/
.vco-storyjs .credit {
  color: #999;
  text-align: right;
  font-size: 10px;
  line-height: 10px;
  display: block;
  margin: 0 auto;
  clear: both; }

/*@noflip*/
.vco-storyjs .caption {
  text-align: left;
  margin-top: 5px;
  color: #666;
  font-size: 11px;
  line-height: 14px;
  clear: both; }

/*@noflip*/
.vco-storyjs.vco-right-to-left h1, .vco-storyjs.vco-right-to-left h2, .vco-storyjs.vco-right-to-left h3, .vco-storyjs.vco-right-to-left h4, .vco-storyjs.vco-right-to-left h5, .vco-storyjs.vco-right-to-left h6, .vco-storyjs.vco-right-to-left p, .vco-storyjs.vco-right-to-left blockquote, .vco-storyjs.vco-right-to-left pre, .vco-storyjs.vco-right-to-left a, .vco-storyjs.vco-right-to-left abbr, .vco-storyjs.vco-right-to-left acronym, .vco-storyjs.vco-right-to-left address, .vco-storyjs.vco-right-to-left cite, .vco-storyjs.vco-right-to-left code, .vco-storyjs.vco-right-to-left del, .vco-storyjs.vco-right-to-left dfn, .vco-storyjs.vco-right-to-left em, .vco-storyjs.vco-right-to-left img, .vco-storyjs.vco-right-to-left q, .vco-storyjs.vco-right-to-left s, .vco-storyjs.vco-right-to-left samp, .vco-storyjs.vco-right-to-left small, .vco-storyjs.vco-right-to-left strike, .vco-storyjs.vco-right-to-left strong, .vco-storyjs.vco-right-to-left sub, .vco-storyjs.vco-right-to-left sup, .vco-storyjs.vco-right-to-left tt, .vco-storyjs.vco-right-to-left var, .vco-storyjs.vco-right-to-left dd, .vco-storyjs.vco-right-to-left dl, .vco-storyjs.vco-right-to-left dt, .vco-storyjs.vco-right-to-left li, .vco-storyjs.vco-right-to-left ol, .vco-storyjs.vco-right-to-left ul, .vco-storyjs.vco-right-to-left fieldset, .vco-storyjs.vco-right-to-left form, .vco-storyjs.vco-right-to-left label, .vco-storyjs.vco-right-to-left legend, .vco-storyjs.vco-right-to-left button, .vco-storyjs.vco-right-to-left table, .vco-storyjs.vco-right-to-left caption, .vco-storyjs.vco-right-to-left tbody, .vco-storyjs.vco-right-to-left tfoot, .vco-storyjs.vco-right-to-left thead, .vco-storyjs.vco-right-to-left tr, .vco-storyjs.vco-right-to-left th, .vco-storyjs.vco-right-to-left td {
  direction: rtl; }

/*@noflip*/
.timeline-tooltip {
  position: absolute;
  z-index: 1000000000000000013287555072;
  display: block;
  visibility: visible;
  padding: 5px;
  opacity: 0;
  filter: alpha(opacity=0);
  font-size: 15px;
  font-weight: bold;
  line-height: 20px;
  font-size: 12px;
  line-height: 12px; }

/*@noflip*/
.timeline-tooltip.in {
  opacity: .8;
  filter: alpha(opacity=80); }

/*@noflip*/
.timeline-tooltip.top {
  margin-top: -2px; }

/*@noflip*/
.timeline-tooltip.right {
  margin-left: 2px; }

/*@noflip*/
.timeline-tooltip.bottom {
  margin-top: 2px; }

/*@noflip*/
.timeline-tooltip.left {
  margin-left: -2px; }

/*@noflip*/
.timeline-tooltip.top .timeline-tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #000; }

/*@noflip*/
.timeline-tooltip.left .timeline-tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #000; }

/*@noflip*/
.timeline-tooltip.bottom .timeline-tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #000; }

/*@noflip*/
.timeline-tooltip.right .timeline-tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid #000; }

/*@noflip*/
.timeline-tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #000;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

/*@noflip*/
.timeline-tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0; }

/*@noflip*/
.fancybox-wrap, .fancybox-skin, .fancybox-outer, .fancybox-inner, .fancybox-image, .fancybox-wrap iframe, .fancybox-wrap object, .fancybox-nav, .fancybox-nav span, .fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top; }

/*@noflip*/
.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020; }

/*@noflip*/
.fancybox-skin {
  position: relative;
  background: #fff;
  color: #444;
  text-shadow: none; }

/*@noflip*/
.fancybox-opened {
  z-index: 8030; }

/*@noflip*/
.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5); }

/*@noflip*/
.fancybox-outer, .fancybox-inner {
  position: relative; }

/*@noflip*/
.fancybox-inner {
  overflow: hidden; }

/*@noflip*/
.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch; }

/*@noflip*/
.fancybox-error {
  color: #444;
  font: 14px/20px Lato, sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap; }

/*@noflip*/
.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%; }

/*@noflip*/
.fancybox-image {
  max-width: 100%;
  max-height: 100%; }

/*@noflip*/
.fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("/imgs/common/timeline/fancybox_sprite.png"); }

/*@noflip*/
#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -14px;
  margin-left: -14px;
  background-position: 0 -108px;
  opacity: .8;
  cursor: pointer;
  z-index: 8060; }

/*@noflip*/
#fancybox-loading div {
  width: 28px;
  height: 28px;
  background: url("/imgs/common/timeline/loading.gif") center center no-repeat; }

/*@noflip*/
.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040; }

/*@noflip*/
.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("/imgs/common/timeline/blank.gif");
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 8040; }

/*@noflip*/
.fancybox-prev {
  left: 0; }

/*@noflip*/
.fancybox-next {
  right: 0; }

/*@noflip*/
.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden; }

/*@noflip*/
.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px; }

/*@noflip*/
.fancybox-next span {
  right: 10px;
  background-position: 0 -72px; }

/*@noflip*/
.fancybox-nav:hover span {
  visibility: visible; }

/*@noflip*/
.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important; }

/*@noflip*/
.fancybox-lock {
  overflow: hidden !important;
  width: auto; }

/*@noflip*/
.fancybox-lock body {
  overflow: hidden !important; }

/*@noflip*/
.fancybox-lock-test {
  overflow-y: hidden !important; }

/*@noflip*/
.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url("/imgs/common/timeline/overlay.png"); }

/*@noflip*/
.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0; }

/*@noflip*/
.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll; }

/*@noflip*/
.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px Lato, sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050; }

/*@noflip*/
.fancybox-opened .fancybox-title {
  visibility: visible; }

/*@noflip*/
.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center; }

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #fff;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap; }

/*@noflip*/
.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff; }

/*@noflip*/
.fancybox-title-inside-wrap {
  padding-top: 10px; }

/*@noflip*/
.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8); }

/*@noflip*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url("/imgs/common/timeline/fancybox_sprite@2x.png");
    background-size: 44px 152px; }
  #fancybox-loading div {
    background-image: url("/imgs/common/timeline/loading@2x.gif");
    background-size: 24px 24px; } }

@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) {
  .vco-slider .nav-next, .vco-slider .nav-previous {
    display: none; } }

.vco-skinny .vco-slider .slider-item .content .layout-text-media .text .container {
  text-align: center !important; }

/*@noflip*/
.vco-skinny .vco-slider .slider-item .content .layout-text-media h2, .vco-skinny .vco-slider .slider-item .content .layout-text-media h3 {
  display: block !important;
  width: 100% !important;
  text-align: center !important; }

/*@noflip*/
.vco-skinny .vco-slider .slider-item .content .content-container {
  display: block; }

.vco-skinny .vco-slider .slider-item .content .content-container .text {
  width: 100%;
  max-width: 100%;
  min-width: 120px;
  display: block; }

.vco-skinny .vco-slider .slider-item .content .content-container .text .container {
  display: block;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word; }

/*@noflip*/
.vco-skinny .vco-slider .slider-item .content .content-container .media {
  width: 100%;
  min-width: 50%;
  float: none; }

.vco-skinny .vco-slider .slider-item .content .content-container .media .media-wrapper {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  display: block; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous, .vco-skinny.vco-notouch .vco-slider .nav-next {
  z-index: 203; }

.vco-skinny.vco-notouch .vco-slider .nav-previous .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-next .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-previous .nav-container .title, .vco-skinny.vco-notouch .vco-slider .nav-next .nav-container .title {
  filter: alpha(opacity=1);
  -khtml-opacity: .01;
  -moz-opacity: .01;
  opacity: .01; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous .nav-container .icon, .vco-skinny.vco-notouch .vco-slider .nav-next .nav-container .icon {
  filter: alpha(opacity=15);
  -khtml-opacity: .15;
  -moz-opacity: .15;
  opacity: .15; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px 0;
  width: 24px;
  height: 24px;
  overflow: hidden;
  margin-left: 10px; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-next .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -232px 0;
  width: 24px;
  height: 24px;
  overflow: hidden;
  margin-left: 66px; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous:hover, .vco-skinny.vco-notouch .vco-slider .nav-next:hover {
  color: #aaa !important;
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.65);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .icon, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .icon, .vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .title, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .title {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  font-weight: bold;
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .title, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .title {
  padding-bottom: 5px; }

/*@noflip*/
.vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .date, .vco-skinny.vco-notouch .vco-slider .nav-previous:hover .nav-container .title, .vco-skinny.vco-notouch .vco-slider .nav-next:hover .nav-container .title {
  padding-left: 5px;
  padding-right: 5px; }

/*@noflip*/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .vco-skinny.vco-notouch .vco-slider .nav-previous .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -208px 0;
    width: 24px;
    height: 24px;
    overflow: hidden; }
  .vco-skinny.vco-notouch .vco-slider .nav-next .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -232px 0;
    width: 24px;
    height: 24px;
    overflow: hidden; } }

.vco-slider {
  width: 100%;
  height: 100%;
  overflow: hidden; }

.vco-slider .slider-container-mask {
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.vco-slider .slider-container-mask .slider-container {
  position: absolute;
  top: 0;
  left: -2160px;
  width: 100%;
  height: 100%;
  text-align: center;
  display: block; }

.vco-slider .slider-container-mask .slider-container .slider-item-container {
  display: table-cell;
  vertical-align: middle; }

/*@noflip*/
.vco-notouch .vco-slider .nav-previous:hover, .vco-notouch .vco-slider .nav-next:hover {
  color: #333;
  cursor: pointer; }

/*@noflip*/
.vco-notouch .vco-slider .nav-previous:hover .icon {
  margin-left: 10px; }

/*@noflip*/
.vco-notouch .vco-slider .nav-next:hover .icon {
  margin-left: 66px; }

/*@noflip*/
.vco-notouch .vco-slider .slider-item .content .content-container .media .media-container .wikipedia h4 a:hover {
  color: #08c;
  text-decoration: none; }

/*@noflip*/
.vco-notouch .vco-slider .slider-item .content .content-container .created-at:hover {
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-notouch .vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments a:hover {
  text-decoration: none; }

.vco-notouch .vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments a:hover h5 {
  text-decoration: underline; }

/*@noflip*/
.vco-slider img, .vco-slider embed, .vco-slider object, .vco-slider video, .vco-slider iframe {
  max-width: 100%; }

/*@noflip*/
.vco-slider .nav-previous, .vco-slider .nav-next {
  position: absolute;
  top: 0;
  width: 100px;
  color: #dbdbdb;
  font-size: 11px; }

.vco-slider .nav-previous .nav-container, .vco-slider .nav-next .nav-container {
  height: 100px;
  width: 100px;
  position: absolute; }

/*@noflip*/
.vco-slider .nav-previous .icon, .vco-slider .nav-next .icon {
  margin-top: 12px;
  margin-bottom: 15px; }

/*@noflip*/
.vco-slider .nav-previous .date, .vco-slider .nav-next .date, .vco-slider .nav-previous .title, .vco-slider .nav-next .title {
  line-height: 14px; }

.vco-slider .nav-previous .date a, .vco-slider .nav-next .date a, .vco-slider .nav-previous .title a, .vco-slider .nav-next .title a {
  color: #999; }

/*@noflip*/
.vco-slider .nav-previous .date small, .vco-slider .nav-next .date small, .vco-slider .nav-previous .title small, .vco-slider .nav-next .title small {
  display: none; }

/*@noflip*/
.vco-slider .nav-previous .date, .vco-slider .nav-next .date {
  font-size: 13px;
  line-height: 13px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 5px; }

/*@noflip*/
.vco-slider .nav-previous .title, .vco-slider .nav-next .title {
  font-size: 11px;
  line-height: 13px; }

/*@noflip*/
.vco-slider .nav-previous {
  float: left;
  text-align: left; }

.vco-slider .nav-previous .icon {
  margin-left: 15px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -160px 0;
  width: 24px;
  height: 24px;
  overflow: hidden; }

/*@noflip*/
.vco-slider .nav-previous .date, .vco-slider .nav-previous .title {
  text-align: left;
  padding-left: 15px; }

/*@noflip*/
.vco-slider .nav-next {
  float: right;
  text-align: right; }

.vco-slider .nav-next .icon {
  margin-left: 61px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -184px 0;
  width: 24px;
  height: 24px;
  overflow: hidden; }

/*@noflip*/
.vco-slider .nav-next .date, .vco-slider .nav-next .title {
  text-align: right;
  padding-right: 15px; }

/*@noflip*/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .vco-slider .nav-previous .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -160px 0;
    width: 24px;
    height: 24px;
    overflow: hidden; }
  .vco-slider .nav-next .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -184px 0;
    width: 24px;
    height: 24px;
    overflow: hidden; } }

.vco-slider .slider-item {
  position: absolute;
  width: 700px;
  height: 100%;
  padding: 0;
  margin: 0;
  display: table;
  overflow-y: auto; }

.vco-slider .slider-item .content {
  display: table-cell;
  vertical-align: middle; }

.vco-slider .slider-item .content .pad-top .text .container {
  padding-top: 15px; }

/*@noflip*/
.vco-slider .slider-item .content .pad-right .text .container {
  padding-right: 15px; }

/*@noflip*/
.vco-slider .slider-item .content .pad-left .text .container {
  padding-left: 30px; }

/*@noflip*/
.vco-slider .slider-item .content .pad-left .media.text-media .media-wrapper .media-container {
  border: none;
  background-color: #fff; }

/*@noflip*/
.vco-slider .slider-item .content .content-container {
  display: table;
  vertical-align: middle; }

.vco-slider .slider-item .content .content-container .text {
  width: 40%;
  max-width: 50%;
  min-width: 120px;
  display: table-cell;
  vertical-align: middle; }

.vco-slider .slider-item .content .content-container .text .container {
  display: table-cell;
  vertical-align: middle;
  text-align: left; }

.vco-slider .slider-item .content .content-container .text .container p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .text .container h2.date {
  font-size: 15px;
  line-height: 15px;
  font-weight: normal; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .text .container .slide-tag {
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  background-color: #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  vertical-align: baseline;
  white-space: nowrap;
  line-height: 11px;
  padding: 1px 3px 1px;
  margin-left: 7.5px;
  margin-bottom: 7.5px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media {
  width: 100%;
  min-width: 50%;
  float: left; }

.vco-slider .slider-item .content .content-container .media .media-wrapper {
  display: inline-block;
  margin-left: auto;
  margin-right: auto; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container {
  display: inline-block;
  line-height: 0;
  padding: 0;
  max-height: 100%; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-frame, .vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-image img {
  border: 1px solid;
  border-color: #ccc #999 #999 #ccc;
  background-color: #fff; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-frame iframe {
  background-color: #fff; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .soundcloud {
  border: 0; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-image {
  display: inline-block; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-shadow {
  position: relative;
  z-index: 1;
  background: #fff; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-shadow:before, .vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-shadow:after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width: 300px;
  background: #999;
  -webkit-box-shadow: 0 15px 10px #999;
  -moz-box-shadow: 0 15px 10px #999;
  box-shadow: 0 15px 10px #999;
  -webkit-transform: rotate(-2deg);
  -moz-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  -o-transform: rotate(-2deg);
  transform: rotate(-2deg); }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .media-shadow::after {
  -webkit-transform: rotate(2deg);
  -moz-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  -o-transform: rotate(2deg);
  transform: rotate(2deg);
  right: 10px;
  left: auto; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .plain-text {
  display: table; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .plain-text .container {
  display: table-cell;
  vertical-align: middle;
  font-size: 15px;
  line-height: 20px;
  color: #666; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .plain-text .container p {
  margin-bottom: 20px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .wikipedia {
  font-size: 15px;
  line-height: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  clear: both; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .wikipedia .wiki-source {
  margin-bottom: 15px;
  font-size: 13px;
  line-height: 19px;
  font-style: italic; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .wikipedia h4 {
  border-bottom: 1px solid #ccc;
  margin-bottom: 5px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .wikipedia h4 a {
  color: #000; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .wikipedia p {
  font-size: 13px;
  line-height: 19px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map {
  line-height: normal;
  z-index: 200;
  text-align: left;
  background-color: #fff; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map img {
  max-height: none !important;
  max-width: none !important;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map .google-map {
  height: 100%;
  width: 100%; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution {
  position: absolute;
  z-index: 201;
  bottom: 0;
  width: 100%;
  overflow: hidden; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution .attribution-text {
  height: 19px;
  overflow: hidden;
  -webkit-user-select: none;
  line-height: 19px;
  margin-right: 60px;
  padding-left: 65px;
  font-family: Lato,sans-serif;
  font-size: 10px;
  color: #444;
  white-space: nowrap;
  color: #fff;
  text-shadow: 1px 1px 1px #333;
  text-align: center; }

.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution .attribution-text a {
  color: #fff !important; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .credit {
  color: #999;
  text-align: right;
  display: block;
  margin: 0 auto;
  margin-top: 6px;
  font-size: 10px;
  line-height: 13px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media .media-wrapper .media-container .caption {
  text-align: left;
  margin-top: 10px;
  color: #666;
  font-size: 11px;
  line-height: 14px;
  text-rendering: optimizeLegibility;
  word-wrap: break-word; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .media.text-media .media-wrapper .media-container {
  border: none;
  background-color: #fff; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .created-at {
  width: 24px;
  height: 24px;
  overflow: hidden;
  margin-left: 7.5px;
  margin-top: 2px;
  display: inline-block;
  float: right;
  filter: alpha(opacity=25);
  -khtml-opacity: .25;
  -moz-opacity: .25;
  opacity: .25; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .storify .created-at {
  background-repeat: no-repeat;
  background-position: -328px -96px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .twitter .created-at {
  background-repeat: no-repeat;
  background-position: -256px -24px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content {
  font-size: 13px;
  line-height: 19px;
  margin-bottom: 6px;
  padding-top: 10px;
  background-color: #fff;
  color: #666; }

.vco-slider .slider-item .content .content-container .googleplus .googleplus-content p {
  font-size: 13px;
  line-height: 19px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-title {
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 6px;
  padding-top: 10px;
  background-color: #fff;
  color: #000; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-annotation {
  font-size: 15px;
  line-height: 20px;
  color: #000;
  border-bottom: 1px solid #e3e3e3;
  padding-bottom: 7.5px;
  margin-bottom: 7.5px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments {
  border-top: 1px solid #e3e3e3;
  padding-top: 15px;
  margin-top: 15px;
  border-bottom: 1px solid #e3e3e3;
  padding-bottom: 15px;
  margin-bottom: 15px;
  *zoom: 1; }

.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments:before, .vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments:after {
  display: table;
  content: ""; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments:after {
  clear: both; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments h5 {
  margin-bottom: 5px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments div {
  width: 50%;
  padding-left: 15px;
  display: inline-block; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments p {
  font-size: 11px;
  line-height: 14px;
  margin-bottom: 5px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .googleplus-content .googleplus-attachments img {
  float: left;
  display: block;
  bottom: 0;
  left: 0;
  margin: auto;
  position: relative;
  right: 0;
  top: 0;
  width: 40%; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .proflinkPrefix {
  color: #08c; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .googleplus .created-at {
  background-repeat: no-repeat;
  background-position: -208px -72px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .twitter, .vco-slider .slider-item .content .content-container .plain-text-quote, .vco-slider .slider-item .content .content-container .storify, .vco-slider .slider-item .content .content-container .googleplus {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  clear: both; }

.vco-slider .slider-item .content .content-container .twitter blockquote, .vco-slider .slider-item .content .content-container .plain-text-quote blockquote, .vco-slider .slider-item .content .content-container .storify blockquote, .vco-slider .slider-item .content .content-container .googleplus blockquote {
  color: #666; }

.vco-slider .slider-item .content .content-container .twitter blockquote p, .vco-slider .slider-item .content .content-container .plain-text-quote blockquote p, .vco-slider .slider-item .content .content-container .storify blockquote p, .vco-slider .slider-item .content .content-container .googleplus blockquote p {
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 6px;
  padding-top: 10px;
  background-color: #fff;
  color: #000; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .twitter blockquote .quote-mark, .vco-slider .slider-item .content .content-container .plain-text-quote blockquote .quote-mark, .vco-slider .slider-item .content .content-container .storify blockquote .quote-mark, .vco-slider .slider-item .content .content-container .googleplus blockquote .quote-mark {
  color: #666; }

/*@noflip*/
.vco-slider .slider-item .content .content-container .twitter blockquote {
  font-size: 15px; }

.vco-slider .slider-item .content .content-container .twitter blockquote p {
  font-size: 24px; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-text-media .text-media {
  border-top: 1px solid #e3e3e3;
  padding-top: 15px;
  padding-right: 0; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-text-media.pad-left .text-media {
  padding-right: 15px;
  padding-top: 0;
  border-right: 1px solid #e3e3e3;
  border-top: 0 solid #e3e3e3; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-text {
  width: 100%; }

.vco-slider .slider-item .content .content-container.layout-text .text {
  width: 100%;
  max-width: 100%; }

.vco-slider .slider-item .content .content-container.layout-text .text .container {
  display: block;
  vertical-align: middle;
  padding: 0;
  width: 90%;
  text-align: left;
  margin-left: auto;
  margin-right: auto; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-media {
  width: 100%; }

.vco-slider .slider-item .content .content-container.layout-media .text {
  width: 100%;
  height: 100%;
  max-width: 100%;
  display: block;
  text-align: center; }

.vco-slider .slider-item .content .content-container.layout-media .text .container {
  display: block;
  text-align: center;
  width: 100%;
  margin-left: none;
  margin-right: none; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-media .media {
  width: 100%;
  min-width: 50%;
  float: none; }

.vco-slider .slider-item .content .content-container.layout-media .media .media-wrapper .media-container {
  margin-left: auto;
  margin-right: auto;
  line-height: 0;
  padding: 0; }

/*@noflip*/
.vco-slider .slider-item .content .content-container.layout-media .twitter, .vco-slider .slider-item .content .content-container.layout-media .wikipedia, .vco-slider .slider-item .content .content-container.layout-media .googleplus {
  max-width: 70%; }

/*@noflip*/
.storyjs-embed {
  background-color: #fff;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  padding-top: 20px;
  padding-bottom: 20px;
  clear: both;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35); }

/*@noflip*/
.storyjs-embed.full-embed {
  overflow: hidden;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  clear: both;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important;
  -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important; }

/*@noflip*/
.storyjs-embed.sized-embed {
  overflow: hidden;
  border: 1px solid #ccc;
  padding-top: 7px;
  padding-bottom: 7px;
  margin: 0 !important;
  clear: both;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important;
  -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.25) !important; }

/*@noflip*/
.vco-storyjs {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background-color: #fff;
  position: absolute;
  z-index: 100;
  clear: both;
  overflow: hidden; }

.vco-storyjs .vmm-clear:before, .vco-storyjs .vmm-clear:after {
  content: "";
  display: table; }

/*@noflip*/
.vco-storyjs .vmm-clear:after {
  clear: both; }

/*@noflip*/
.vco-storyjs .vmm-clear {
  *zoom: 1; }

/*@noflip*/
.vco-storyjs .vco-feature {
  width: 100%; }

.vco-storyjs .vco-feature .slider, .vco-storyjs .vco-feature .vco-slider {
  width: 100%;
  float: left;
  position: relative;
  z-index: 10;
  padding-top: 15px;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3); }

/*@noflip*/
.vco-storyjs .vco-feedback {
  position: absolute;
  display: table;
  overflow: hidden;
  top: 0;
  left: 0;
  z-index: 1000000000000000013287555072;
  width: 100%;
  height: 100%; }

/*@noflip*/
.vco-storyjs div.vco-loading, .vco-storyjs div.vco-explainer {
  display: table;
  text-align: center;
  min-width: 100px;
  margin-top: 15px;
  height: 100%;
  width: 100%;
  background-color: #fff; }

.vco-storyjs div.vco-loading .vco-loading-container, .vco-storyjs div.vco-explainer .vco-loading-container, .vco-storyjs div.vco-loading .vco-explainer-container, .vco-storyjs div.vco-explainer .vco-explainer-container {
  display: table-cell;
  vertical-align: middle; }

.vco-storyjs div.vco-loading .vco-loading-container .vco-loading-icon, .vco-storyjs div.vco-explainer .vco-loading-container .vco-loading-icon, .vco-storyjs div.vco-loading .vco-explainer-container .vco-loading-icon, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-loading-icon {
  display: block;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-image: url("/imgs/common/timeline/loading.gif");
  width: 28px;
  height: 28px; }

/*@noflip*/
.vco-storyjs div.vco-loading .vco-loading-container .vco-gesture-icon, .vco-storyjs div.vco-explainer .vco-loading-container .vco-gesture-icon, .vco-storyjs div.vco-loading .vco-explainer-container .vco-gesture-icon, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-gesture-icon {
  display: block;
  vertical-align: middle;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -160px -160px;
  height: 48px;
  width: 48px;
  height: 48px; }

/*@noflip*/
.vco-storyjs div.vco-loading .vco-loading-container .vco-message, .vco-storyjs div.vco-explainer .vco-loading-container .vco-message, .vco-storyjs div.vco-loading .vco-explainer-container .vco-message, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-message {
  display: block; }

/*@noflip*/
.vco-storyjs div.vco-loading .vco-loading-container .vco-message, .vco-storyjs div.vco-explainer .vco-loading-container .vco-message, .vco-storyjs div.vco-loading .vco-explainer-container .vco-message, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-message, .vco-storyjs div.vco-loading .vco-loading-container .vco-message p, .vco-storyjs div.vco-explainer .vco-loading-container .vco-message p, .vco-storyjs div.vco-loading .vco-explainer-container .vco-message p, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-message p {
  text-align: center;
  font-size: 11px;
  line-height: 13px;
  text-transform: uppercase;
  margin-top: 7.5px;
  margin-bottom: 7.5px; }

/*@noflip*/
.vco-storyjs div.vco-explainer {
  background-color: transparent; }

/*@noflip*/
.vco-storyjs .vco-bezel {
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.8);
  width: 80px;
  height: 50px;
  padding: 50px;
  padding-top: 25px;
  padding: 25px 20px 50px 20px;
  margin: auto;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.vco-storyjs .vco-bezel .vco-message, .vco-storyjs .vco-bezel .vco-message p {
  color: #fff;
  font-weight: bold; }

/*@noflip*/
.vco-storyjs .vco-container.vco-main {
  position: absolute;
  top: 0;
  left: 0;
  padding-bottom: 3px;
  width: auto;
  height: auto;
  margin: 0;
  clear: both; }

/*@noflip*/
.vco-storyjs img, .vco-storyjs embed, .vco-storyjs object, .vco-storyjs video, .vco-storyjs iframe {
  max-width: 100%; }

/*@noflip*/
.vco-storyjs img {
  max-height: 100%;
  border: 1px solid #999; }

/*@noflip*/
.vco-storyjs a {
  color: #08c;
  text-decoration: none; }

/*@noflip*/
.vco-storyjs a:hover {
  color: #005580;
  text-decoration: underline; }

/*@noflip*/
.vco-storyjs .vcard {
  float: right;
  margin-bottom: 15px; }

.vco-storyjs .vcard a {
  color: #333; }

/*@noflip*/
.vco-storyjs .vcard a:hover {
  text-decoration: none; }

.vco-storyjs .vcard a:hover .fn {
  text-decoration: underline; }

/*@noflip*/
.vco-storyjs .vcard .fn, .vco-storyjs .vcard .nickname {
  padding-left: 42px; }

/*@noflip*/
.vco-storyjs .vcard .fn {
  display: block;
  font-weight: bold; }

/*@noflip*/
.vco-storyjs .vcard .nickname {
  margin-top: 1px;
  display: block;
  color: #666; }

/*@noflip*/
.vco-storyjs .vcard .avatar {
  float: left;
  display: block;
  width: 32px;
  height: 32px; }

.vco-storyjs .vcard .avatar img {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

/*@noflip*/
.vco-storyjs .thumbnail {
  width: 24px;
  height: 24px;
  overflow: hidden;
  float: left;
  margin: 0;
  margin-right: 1px;
  margin-top: 6px;
  border: 0;
  padding: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

/*@noflip*/
.vco-storyjs a.thumbnail:hover {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-plaintext {
  background-repeat: no-repeat;
  background-position: -280px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-quote {
  background-repeat: no-repeat;
  background-position: -232px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-document {
  background-repeat: no-repeat;
  background-position: -256px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-photo {
  background-repeat: no-repeat;
  background-position: -280px -24px;
  border: 0; }

.vco-storyjs .thumbnail.thumb-photo img {
  border: 0 none #ccc !important; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-twitter {
  background-repeat: no-repeat;
  background-position: -256px -24px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-vimeo {
  background-repeat: no-repeat;
  background-position: -328px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-vine {
  background-repeat: no-repeat;
  background-position: -232px -72px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-youtube {
  background-repeat: no-repeat;
  background-position: -328px -72px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-video {
  background-repeat: no-repeat;
  background-position: -328px -24px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-audio {
  background-repeat: no-repeat;
  background-position: -304px -24px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-map {
  background-repeat: no-repeat;
  background-position: -208px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-website {
  background-repeat: no-repeat;
  background-position: -232px -24px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-link {
  background-repeat: no-repeat;
  background-position: -184px -72px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-wikipedia {
  background-repeat: no-repeat;
  background-position: -184px -48px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-storify {
  background-repeat: no-repeat;
  background-position: -328px -96px; }

/*@noflip*/
.vco-storyjs .thumbnail.thumb-googleplus {
  background-repeat: no-repeat;
  background-position: -208px -72px; }

/*@noflip*/
.vco-storyjs thumbnail.thumb-instagram {
  background-repeat: no-repeat;
  background-position: -208px -96px; }

/*@noflip*/
.vco-storyjs thumbnail.thumb-instagram-full {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -232px -96px;
  width: 48px;
  height: 24px; }

/*@noflip*/
.vco-storyjs .thumb-storify-full {
  height: 12px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -280px -96px;
  width: 48px; }

/*@noflip*/
.vco-storyjs .thumbnail-inline {
  width: 16px;
  height: 14px;
  overflow: hidden;
  display: inline-block;
  margin-right: 1px;
  margin-left: 3px;
  margin-top: 2px;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-storyjs .twitter .thumbnail-inline {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -160px -96px; }

/*@noflip*/
.vco-storyjs .storify .thumbnail-inline {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -184px -96px; }

/*@noflip*/
.vco-storyjs .googleplus .thumbnail-inline {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px -96px; }

/*@noflip*/
.vco-storyjs .zFront {
  z-index: 204; }

/*@noflip*/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .vco-storyjs div.vco-loading .vco-loading-container .vco-loading-icon, .vco-storyjs div.vco-explainer .vco-loading-container .vco-loading-icon, .vco-storyjs div.vco-loading .vco-explainer-container .vco-loading-icon, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-loading-icon {
    background-image: url("/imgs/common/timeline/loading@2x.gif"); }
  .vco-storyjs div.vco-loading .vco-loading-container .vco-gesture-icon, .vco-storyjs div.vco-explainer .vco-loading-container .vco-gesture-icon, .vco-storyjs div.vco-loading .vco-explainer-container .vco-gesture-icon, .vco-storyjs div.vco-explainer .vco-explainer-container .vco-gesture-icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -160px -160px;
    width: 48px;
    height: 48px; } }

.vco-notouch .vco-navigation .vco-toolbar .zoom-in:hover, .vco-notouch .vco-navigation .vco-toolbar .zoom-out:hover, .vco-notouch .vco-navigation .vco-toolbar .back-home:hover {
  color: #08c;
  cursor: pointer;
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker.active:hover {
  cursor: default; }

.vco-notouch .vco-navigation .timenav .content .marker.active:hover .flag .flag-content h3, .vco-notouch .vco-navigation .timenav .content .marker.active:hover .flag-small .flag-content h3 {
  color: #08c; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker.active:hover .flag .flag-content h4, .vco-notouch .vco-navigation .timenav .content .marker.active:hover .flag-small .flag-content h4 {
  color: #999; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker:hover .line {
  z-index: 24;
  background: #999; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag:hover, .vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover {
  cursor: pointer; }

.vco-notouch .vco-navigation .timenav .content .marker .flag:hover .flag-content h3, .vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover .flag-content h3 {
  color: #333; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag:hover .flag-content h4, .vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover .flag-content h4 {
  color: #aaa; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag:hover .flag-content .thumbnail, .vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover .flag-content .thumbnail {
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag:hover {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -53px;
  width: 153px;
  height: 53px; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover {
  height: 56px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -53px;
  width: 153px;
  height: 53px; }

.vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover .flag-content {
  height: 36px; }

.vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover .flag-content h3 {
  margin-top: 5px; }

/*@noflip*/
.vco-notouch .vco-navigation .timenav .content .marker .flag-small.flag-small-last:hover {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -109px;
  width: 153px;
  height: 26px;
  height: 26px; }

.vco-notouch .vco-navigation .timenav .content .marker .flag-small.flag-small-last:hover .flag-content {
  height: 14px; }

.vco-notouch .vco-navigation .timenav .content .marker .flag-small.flag-small-last:hover .flag-content h3 {
  margin-top: 4px; }

/*@noflip*/
.vco-timeline .vco-navigation {
  clear: both;
  cursor: move;
  width: 100%;
  height: 200px;
  border-top: 1px solid #e3e3e3;
  position: relative; }

.vco-timeline .vco-navigation .vco-toolbar {
  position: absolute;
  top: 45px;
  left: 0;
  z-index: 202;
  background-color: #fff;
  border: 1px solid #ccc;
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); }

.vco-timeline .vco-navigation .vco-toolbar .zoom-in, .vco-timeline .vco-navigation .vco-toolbar .zoom-out, .vco-timeline .vco-navigation .vco-toolbar .back-home {
  font-weight: normal;
  font-size: 10px;
  line-height: 20px;
  top: 0;
  z-index: 202;
  width: 18px;
  height: 18px;
  color: #333;
  text-align: center;
  font-weight: bold;
  border: 1px solid #fff;
  padding: 5px;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar .zoom-in .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -256px 0;
  width: 24px;
  height: 24px; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar .zoom-out .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -280px 0;
  width: 24px;
  height: 24px; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar .back-home .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -328px 0;
  width: 24px;
  height: 24px; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar.touch {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  background-color: transparent;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.vco-timeline .vco-navigation .vco-toolbar.touch .zoom-in, .vco-timeline .vco-navigation .vco-toolbar.touch .zoom-out, .vco-timeline .vco-navigation .vco-toolbar.touch .back-home {
  width: 40px;
  height: 40px;
  padding: 5px;
  background-color: #fff;
  border: 1px solid #ccc;
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar.touch .zoom-in .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px -160px;
  width: 40px;
  height: 40px; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar.touch .zoom-out .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -256px -160px;
  width: 40px;
  height: 40px; }

/*@noflip*/
.vco-timeline .vco-navigation .vco-toolbar.touch .back-home .icon {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -304px -160px;
  width: 40px;
  height: 40px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background {
  position: absolute;
  cursor: move;
  top: 0;
  left: 0;
  height: 150px;
  width: 100%;
  background-color: #e9e9e9; }

.vco-timeline .vco-navigation .timenav-background .timenav-interval-background {
  position: absolute;
  top: 151px;
  left: 0;
  background: #fff;
  width: 100%;
  height: 49px;
  -webkit-box-shadow: -1px -1px 7px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: -1px -1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: -1px -1px 7px rgba(0, 0, 0, 0.1); }

.vco-timeline .vco-navigation .timenav-background .timenav-interval-background .top-highlight {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 30;
  width: 100%;
  height: 1px;
  background: #fff;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5;
  -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-line {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3px;
  height: 150px;
  background-color: #08c;
  z-index: 1;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3); }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-indicator {
  position: absolute;
  top: -1px;
  left: 50%;
  z-index: 202;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -160px -48px;
  width: 24px;
  height: 24px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-tag div {
  height: 50px;
  display: table; }

.vco-timeline .vco-navigation .timenav-background .timenav-tag div h3 {
  display: table-cell;
  vertical-align: middle;
  padding-left: 65px;
  font-size: 15px;
  color: #d0d0d0;
  font-weight: bold;
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-tag-size-half {
  height: 25px; }

.vco-timeline .vco-navigation .timenav-background .timenav-tag-size-half div {
  height: 25px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-tag-size-full {
  height: 50px; }

.vco-timeline .vco-navigation .timenav-background .timenav-tag-size-full div {
  height: 50px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-tag-row-2, .vco-timeline .vco-navigation .timenav-background .timenav-tag-row-4, .vco-timeline .vco-navigation .timenav-background .timenav-tag-row-6 {
  background: #f1f1f1; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav-background .timenav-tag-row-1, .vco-timeline .vco-navigation .timenav-background .timenav-tag-row-3, .vco-timeline .vco-navigation .timenav-background .timenav-tag-row-5 {
  background: #e9e9e9; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav {
  position: absolute;
  top: 0;
  left: -250px;
  z-index: 1; }

.vco-timeline .vco-navigation .timenav .content {
  position: relative; }

.vco-timeline .vco-navigation .timenav .content .marker.start {
  display: none; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .dot {
  background: #08c;
  z-index: 200; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .line {
  z-index: 199;
  background: #08c;
  width: 1px; }

.vco-timeline .vco-navigation .timenav .content .marker.active .line .event-line {
  background: #08c;
  filter: alpha(opacity=75);
  -khtml-opacity: .75;
  -moz-opacity: .75;
  opacity: .75; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .flag, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small {
  z-index: 200; }

.vco-timeline .vco-navigation .timenav .content .marker.active .flag .flag-content, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small .flag-content {
  height: 36px; }

.vco-timeline .vco-navigation .timenav .content .marker.active .flag .flag-content h3, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small .flag-content h3 {
  color: #08c;
  margin-top: 5px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .flag .flag-content .thumbnail, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small .flag-content .thumbnail {
  filter: alpha(opacity=100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .flag.row1, .vco-timeline .vco-navigation .timenav .content .marker.active .flag.row2, .vco-timeline .vco-navigation .timenav .content .marker.active .flag.row3, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small.row1, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small.row2, .vco-timeline .vco-navigation .timenav .content .marker.active .flag-small.row3 {
  z-index: 200; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .flag {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -53px;
  width: 153px;
  height: 53px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker.active .flag-small {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -109px;
  width: 153px;
  height: 26px;
  height: 26px; }

.vco-timeline .vco-navigation .timenav .content .marker.active .flag-small .flag-content {
  height: 14px; }

.vco-timeline .vco-navigation .timenav .content .marker.active .flag-small .flag-content h3 {
  margin-top: 4px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker {
  position: absolute;
  top: 0;
  left: 150px;
  display: block; }

.vco-timeline .vco-navigation .timenav .content .marker .dot {
  position: absolute;
  top: 150px;
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  background: #333;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  z-index: 21; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .line {
  position: absolute;
  top: 0;
  left: 3px;
  width: 1px;
  height: 150px;
  background-color: #ccc;
  background-color: rgba(204, 204, 204, 0.5);
  -webkit-box-shadow: 1px 0 0 rgba(255, 255, 255, 0.5);
  -moz-box-shadow: 1px 0 0 rgba(255, 255, 255, 0.5);
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.5);
  z-index: 22; }

.vco-timeline .vco-navigation .timenav .content .marker .line .event-line {
  position: absolute;
  z-index: 22;
  left: 0;
  height: 1px;
  width: 1px;
  background: #08c;
  filter: alpha(opacity=15);
  -khtml-opacity: .15;
  -moz-opacity: .15;
  opacity: .15; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag, .vco-timeline .vco-navigation .timenav .content .marker .flag-small {
  position: absolute;
  top: 15px;
  left: 3px;
  padding: 0;
  display: block;
  z-index: 23;
  width: 153px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content {
  padding: 0 7px 2px 6px;
  overflow: hidden; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content h3, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content h3 {
  font-weight: bold;
  font-size: 15px;
  line-height: 20px;
  font-size: 11px;
  line-height: 11px;
  color: #999;
  margin-bottom: 2px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content h3 small, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content h3 small {
  display: none; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content h4, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content h4 {
  display: none;
  font-weight: normal;
  font-size: 15px;
  line-height: 20px;
  margin-top: 5px;
  font-size: 10px;
  line-height: 10px;
  color: #aaa; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content h4 small, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content h4 small {
  display: none; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content .thumbnail, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail {
  margin-bottom: 15px;
  margin-right: 3px;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content .thumbnail img, .vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail img {
  width: 22px;
  height: 22px;
  max-height: none;
  max-width: none;
  border: 0;
  border: 1px solid #999;
  padding: 0;
  margin: 0; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag {
  height: 56px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 153px;
  height: 53px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content {
  height: 36px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag .flag-content h3 {
  margin-top: 5px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small {
  height: 26px;
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: 0 -135px;
  width: 153px;
  height: 26px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content {
  height: 14px; }

.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content h3 {
  margin-top: 4px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail {
  width: 16px;
  height: 10px;
  margin-right: 1px;
  margin-top: 6px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-plaintext {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -280px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-quote {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -232px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-document {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -256px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-photo {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -280px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-twitter {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -256px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-vimeo {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -328px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-vine {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -160px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-youtube {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -304px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-video {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -328px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-audio {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -304px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-map {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-website {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -232px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-link {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -232px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-wikipedia {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -184px -120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-storify {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -184px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content .thumbnail.thumb-googleplus {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px -130px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small .flag-content thumbnail.thumb-instagram {
  background-image: url("/imgs/common/timeline/timeline.png");
  background-repeat: no-repeat;
  background-position: -208px -96px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag.row1 {
  z-index: 25;
  top: 48px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag.row2 {
  z-index: 24;
  top: 96px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag.row3 {
  z-index: 23;
  top: 1px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row1 {
  z-index: 28;
  top: 24px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row2 {
  z-index: 27;
  top: 48px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row3 {
  z-index: 26;
  top: 72px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row4 {
  z-index: 25;
  top: 96px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row5 {
  z-index: 24;
  top: 120px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag-small.row6 {
  z-index: 23;
  top: 1px; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .marker .flag.zFront, .vco-timeline .vco-navigation .timenav .content .marker .flag-small.zFront {
  z-index: 201; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era {
  position: absolute;
  top: 138px;
  left: 150px;
  height: 12px;
  display: block;
  overflow: hidden; }

.vco-timeline .vco-navigation .timenav .content .era div {
  height: 50px;
  width: 100%;
  height: 100%;
  line-height: 0;
  background: #e9e9e9;
  background: rgba(233, 233, 233, 0.33); }

.vco-timeline .vco-navigation .timenav .content .era div h3, .vco-timeline .vco-navigation .timenav .content .era div h4 {
  position: absolute;
  bottom: 1px;
  padding-left: 15px;
  font-size: 15px;
  font-weight: bold;
  color: rgba(0, 136, 204, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era1 div {
  background: #c40;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(204, 68, 0, 0.1);
  border-right: 1px solid rgba(255, 85, 0, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era1 div h3, .vco-timeline .vco-navigation .timenav .content .era1 div h4 {
  color: rgba(204, 68, 0, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era2 div {
  background: #c02;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(204, 0, 34, 0.1);
  border-right: 1px solid rgba(255, 0, 43, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era2 div h3, .vco-timeline .vco-navigation .timenav .content .era2 div h4 {
  color: rgba(204, 0, 34, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era3 div {
  background: #02c;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(0, 34, 204, 0.1);
  border-right: 1px solid rgba(0, 43, 255, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era3 div h3, .vco-timeline .vco-navigation .timenav .content .era3 div h4 {
  color: rgba(0, 34, 204, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era4 div {
  background: #ca0;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(204, 170, 0, 0.1);
  border-right: 1px solid rgba(255, 213, 0, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era4 div h3, .vco-timeline .vco-navigation .timenav .content .era4 div h4 {
  color: rgba(204, 170, 0, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era5 div {
  background: #0ca;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(0, 204, 170, 0.1);
  border-right: 1px solid rgba(0, 255, 213, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era5 div h3, .vco-timeline .vco-navigation .timenav .content .era5 div h4 {
  color: rgba(0, 204, 170, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .content .era6 div {
  background: #08c;
  filter: alpha(opacity=10);
  -khtml-opacity: .1;
  -moz-opacity: .1;
  opacity: .1;
  border-left: 1px solid rgba(0, 136, 204, 0.1);
  border-right: 1px solid rgba(0, 170, 255, 0.05); }

.vco-timeline .vco-navigation .timenav .content .era6 div h3, .vco-timeline .vco-navigation .timenav .content .era6 div h4 {
  color: rgba(0, 136, 204, 0.35);
  text-shadow: 0 1px 1px #fff; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time {
  position: absolute;
  left: 0;
  top: 150px;
  height: 50px;
  background-color: #fff;
  line-height: 0; }

.vco-timeline .vco-navigation .timenav .time .time-interval-minor {
  max-width: none;
  height: 6px;
  white-space: nowrap;
  position: absolute;
  top: -2px;
  left: 8px;
  z-index: 10; }

.vco-timeline .vco-navigation .timenav .time .time-interval-minor .minor {
  position: relative;
  top: 2px;
  display: inline-block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAMCAMAAACdvocfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFzMzM////040VdgAAAAJ0Uk5T/wDltzBKAAAAEklEQVR42mJgYAQCBopJgAADAAbwADHy2qHzAAAAAElFTkSuQmCC);
  width: 100px;
  height: 6px;
  background-position: center top;
  white-space: nowrap;
  color: #666;
  margin-top: 0;
  padding-top: 0; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval {
  white-space: nowrap;
  position: absolute;
  top: 5px;
  left: 0; }

.vco-timeline .vco-navigation .timenav .time .time-interval div {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAMCAMAAACdvocfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFzMzM////040VdgAAAAJ0Uk5T/wDltzBKAAAAEklEQVR42mJgYAQCBopJgAADAAbwADHy2qHzAAAAAElFTkSuQmCC);
  background-position: left top;
  background-repeat: no-repeat;
  padding-top: 6px;
  position: absolute;
  height: 3px;
  left: 0;
  display: block;
  font-weight: normal;
  font-size: 10px;
  line-height: 20px;
  text-transform: uppercase;
  text-align: left;
  text-indent: 0;
  white-space: nowrap;
  color: #666;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  z-index: 2; }

.vco-timeline .vco-navigation .timenav .time .time-interval div strong {
  font-weight: bold;
  color: #000; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval div.era {
  font-weight: bold;
  padding-top: 0;
  margin-top: -3px;
  margin-left: 2px;
  background-image: none; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era1 {
  color: #c40;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era2 {
  color: #c02;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era3 {
  color: #02c;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era4 {
  color: #ca0;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era5 {
  color: #0ca;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval .era6 {
  color: #08c;
  filter: alpha(opacity=50);
  -khtml-opacity: .5;
  -moz-opacity: .5;
  opacity: .5; }

/*@noflip*/
.vco-timeline .vco-navigation .timenav .time .time-interval-major {
  white-space: nowrap;
  position: absolute;
  top: 5px;
  left: 0; }

.vco-timeline .vco-navigation .timenav .time .time-interval-major div {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAQAQMAAADtUYf0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOTAzRjI3REIzNDcxMUUxQUQ3QUZCOThEODQ1NDhCNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOTAzRjI3RUIzNDcxMUUxQUQ3QUZCOThEODQ1NDhCNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI5MDNGMjdCQjM0NzExRTFBRDdBRkI5OEQ4NDU0OEI3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI5MDNGMjdDQjM0NzExRTFBRDdBRkI5OEQ4NDU0OEI3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+DPWNfQAAAANQTFRFzMzMylJEJwAAAAtJREFUCB1jYMAPAAAgAAHDvpOtAAAAAElFTkSuQmCC);
  background-position: left top;
  background-repeat: no-repeat;
  padding-top: 15px;
  position: absolute;
  height: 15px;
  left: 0;
  display: block;
  font-weight: bold;
  font-size: 12px;
  line-height: 20px;
  text-transform: uppercase;
  text-align: left;
  text-indent: 0;
  white-space: nowrap;
  color: #333;
  margin-left: 0;
  margin-right: 0;
  margin-top: 1px;
  z-index: 5; }

.vco-timeline .vco-navigation .timenav .time .time-interval-major div strong {
  font-weight: bold;
  color: #000; }

/*@noflip*/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .vco-notouch .vco-navigation .vco-toolbar .zoom-in .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -256px 0;
    width: 24px;
    height: 24px; }
  .vco-notouch .vco-navigation .vco-toolbar .zoom-out .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -280px 0;
    width: 24px;
    height: 24px; }
  .vco-notouch .vco-navigation .vco-toolbar .back-home .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -328px 0;
    width: 24px;
    height: 24px; }
  .vco-notouch .vco-navigation .vco-toolbar.touch .zoom-in .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -208px -160px;
    width: 40px;
    height: 40px; }
  .vco-notouch .vco-navigation .vco-toolbar.touch .zoom-out .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -256px -160px;
    width: 40px;
    height: 40px; }
  .vco-notouch .vco-navigation .vco-toolbar.touch .back-home .icon {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -304px -160px;
    width: 40px;
    height: 40px; }
  .vco-notouch .vco-navigation .timenav .content .marker .flag:hover {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: 0 -53px;
    width: 153px;
    height: 53px; }
  .vco-notouch .vco-navigation .timenav .content .marker .flag-small:hover {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: 0 -53px;
    width: 153px;
    height: 53px; }
  .vco-notouch .vco-navigation .timenav .content .marker .flag-small.flag-small-last:hover {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: 0 -109px;
    width: 153px;
    height: 26px; }
  .vco-notouch .vco-navigation .timenav-background .timenav-indicator {
    background-image: url("/imgs/common/timeline/timeline@2x.png");
    background-size: 352px 260px;
    background-repeat: no-repeat;
    background-position: -160px -48px;
    width: 24px;
    height: 24px; } }

@media screen and (max-device-width: 480px) and (orientation: portrait) {
  .storyjs-embed.full-embed {
    height: 557px !important;
    width: 320px !important; }
  .storyjs-embed.full-embed .vco-feature {
    height: 356px !important; } }

@media screen and (max-device-width: 480px) and (orientation: landscape) {
  .storyjs-embed.full-embed {
    height: 409px !important;
    width: 480px !important; }
  .storyjs-embed.full-embed .vco-feature {
    height: 208px !important; } }

.dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  max-width: 600px;
  list-style: none;
  font-size: 13px;
  line-height: 20px; }

.dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none; }

.dd-list .dd-list {
  padding-left: 30px; }

.dd-item,
.dd-empty,
.dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  font-size: 13px;
  line-height: 20px; }

.dd-handle {
  display: block;
  height: 30px;
  margin: 5px 0;
  padding: 5px 10px;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  border: 1px solid #ccc;
  background: #fafafa;
  border-radius: 3px;
  box-sizing: border-box; }

.dd-handle:hover {
  color: #2ea8e5;
  background: #fff; }

.dd-item > button {
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 20px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  font-weight: bold; }

.dd-item > button:before {
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0; }

.dd-item > button.dd-expand:before {
  content: '+'; }

.dd-item > button.dd-collapse:before {
  content: '-'; }

.dd-expand {
  display: none; }

.dd-collapsed .dd-list,
.dd-collapsed .dd-collapse {
  display: none; }

.dd-collapsed .dd-expand {
  display: block; }

.dd-empty,
.dd-placeholder {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  background: #f2fbff;
  border: 1px dashed #b6bcbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box; }

.dd-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #e5e5e5;
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px; }

.dd-dragel {
  position: absolute;
  pointer-events: none;
  z-index: 9999; }

.dd-dragel > .dd-item .dd-handle {
  margin-top: 0; }

.dd-dragel .dd-handle {
  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); }

.nestable {
  padding: 28px;
  padding-left: 0; }
  .nestable > .dd-list:first-child, .nestable > .dd-list:last-child {
    margin: 0; }

.dd {
  max-width: 100%; }

.dd-list {
  padding-left: 28px; }

/*! Tablesaw - v2.0.2 - 2015-10-27
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2015 Filament Group; Licensed MIT */
table.tablesaw {
  empty-cells: show;
  max-width: 100%;
  width: 100%; }

.tablesaw {
  border-collapse: collapse;
  width: 100%; }

/* Structure */
.tablesaw {
  border: 0;
  padding: 0; }

.tablesaw th,
.tablesaw td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: .5em .7em; }

.tablesaw thead tr:first-child th {
  padding-top: .9em;
  padding-bottom: .7em; }

.tablesaw-enhanced .tablesaw-bar .btn {
  border: 1px solid #ccc;
  background: none;
  background-color: #fafafa;
  -webkit-box-shadow: 0 1px 0 white;
  box-shadow: 0 1px 0 white;
  color: #4a4a4a;
  clear: both;
  cursor: pointer;
  display: block;
  font: bold 20px/1 sans-serif;
  margin: 0;
  padding: .5em .85em .4em .85em;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: capitalize;
  text-shadow: 0 1px 0 #fff;
  width: 100%;
  /* Theming */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  border-radius: .25em; }

.tablesaw-enhanced .tablesaw-bar a.btn {
  color: #1c95d4; }

.tablesaw-enhanced .tablesaw-bar .btn:hover {
  text-decoration: none; }

/* Default radio/checkbox styling horizonal controlgroups. */
.tablesaw-enhanced .tablesaw-bar .btn:active {
  background-color: #ddd; }

.tablesaw-enhanced .tablesaw-bar .btn:hover,
.tablesaw-enhanced .tablesaw-bar .btn:focus {
  color: #208de3;
  background-color: #fff;
  outline: none; }

.tablesaw-bar .btn:focus {
  -webkit-box-shadow: 0 0 .35em #4faeef !important;
  box-shadow: 0 0 .35em #4faeef !important; }

.tablesaw-bar .btn-select select {
  background: none;
  border: none;
  display: block;
  position: absolute;
  font-weight: inherit;
  left: 0;
  top: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  min-height: 1em; }

.tablesaw-bar .btn-select select {
  opacity: 0;
  filter: alpha(opacity=0);
  display: inline-block;
  color: transparent; }

.tablesaw-bar .btn select option {
  background: #fff;
  color: #000;
  font-family: sans-serif; }

.tablesaw-enhanced .tablesaw-bar .btn.btn-select {
  color: #4d4d4d;
  padding-right: 2.5em;
  min-width: 7.25em;
  text-align: left;
  text-indent: 0; }

.tablesaw-bar .btn.btn-small,
.tablesaw-bar .btn.btn-micro {
  display: inline-block;
  width: auto;
  height: auto;
  position: relative;
  top: 0; }

.tablesaw-bar .btn.btn-small {
  font-size: 1.0625em;
  line-height: 19px;
  padding: .3em 1em .3em 1em; }

.tablesaw-bar .btn.btn-micro {
  font-size: .8125em;
  padding: .4em .7em .25em .7em; }

.tablesaw-enhanced .tablesaw-bar .btn-select {
  text-align: left; }

.tablesaw-bar .btn-select:after {
  background: #e5e5e5;
  background: rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 2px 2px rgba(255, 255, 255, 0.25);
  box-shadow: 0 2px 2px rgba(255, 255, 255, 0.25);
  content: " ";
  display: block;
  position: absolute; }

.tablesaw-bar .btn-select.btn-small,
.tablesaw-bar .btn-select.btn-micro {
  padding-right: 1.5em; }

.tablesaw-bar .btn-select:after {
  background: none;
  background-repeat: no-repeat;
  background-position: .25em .45em;
  content: "\25bc";
  font-size: .55em;
  padding-top: 1.2em;
  padding-left: 1em;
  left: auto;
  right: 0;
  margin: 0;
  top: 0;
  bottom: 0;
  width: 1.8em; }

.tablesaw-bar .btn-select.btn-small:after,
.tablesaw-bar .btn-select.btn-micro:after {
  width: 1.2em;
  font-size: .5em;
  padding-top: 1em;
  padding-right: .5em;
  line-height: 1.65;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-left-width: 0; }

/* Column navigation buttons for swipe and columntoggle tables */
.tablesaw-advance .btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-shadow: 0 1px 0 #fff;
  border-radius: .25em; }

.tablesaw-advance .btn.btn-micro {
  font-size: .8125em;
  padding: .3em .7em .25em .7em; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn {
  display: inline-block;
  overflow: hidden;
  width: 1.8em;
  height: 1.8em;
  background-position: 50% 50%;
  margin-left: .5em;
  position: relative; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.right:before,
.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.down:before,
.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.up:before {
  content: "\0020";
  overflow: hidden;
  width: 0;
  height: 0;
  position: absolute; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.down:before {
  left: .5em;
  top: .65em;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #808080; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.up:before {
  left: .5em;
  top: .65em;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #808080; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.right:before {
  top: .45em;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.left:before {
  left: .6em;
  border-right: 5px solid #808080; }

.tablesaw-bar .tablesaw-advance a.tablesaw-nav-btn.right:before {
  left: .7em;
  border-left: 5px solid #808080; }

.tablesaw-advance a.tablesaw-nav-btn.disabled {
  opacity: .25;
  filter: alpha(opacity=25);
  cursor: default;
  pointer-events: none; }

/* Table Toolbar */
.tablesaw-bar {
  clear: both;
  font-family: sans-serif; }

.tablesaw-toolbar {
  font-size: .875em;
  float: left; }

.tablesaw-toolbar label {
  padding: .5em 0;
  clear: both;
  display: block;
  color: #888;
  margin-right: .5em;
  text-transform: uppercase; }

.tablesaw-bar .btn,
.tablesaw-enhanced .tablesaw-bar .btn {
  margin-top: .5em;
  margin-bottom: .5em; }

.tablesaw-bar .btn-select,
.tablesaw-enhanced .tablesaw-bar .btn-select {
  margin-bottom: 0; }

.tablesaw-bar .tablesaw-toolbar .btn {
  margin-left: .4em;
  margin-top: 0;
  text-transform: uppercase;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent;
  font-family: sans-serif;
  font-size: 1em;
  padding-left: .3em; }

.tablesaw-bar .tablesaw-toolbar .btn-select {
  min-width: 0; }

.tablesaw-bar .tablesaw-toolbar .btn-select:after {
  padding-top: .9em; }

.tablesaw-bar .tablesaw-toolbar select {
  color: #888;
  text-transform: none;
  background: transparent; }

.tablesaw-toolbar ~ table {
  clear: both; }

.tablesaw-toolbar .a11y-sm {
  clip: rect(0 0 0 0);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px; }

@media (min-width: 24em) {
  .tablesaw-toolbar .a11y-sm {
    clip: none;
    height: auto;
    width: auto;
    position: static;
    overflow: visible; } }

table.tablesaw tbody th {
  font-weight: bold; }

table.tablesaw thead th,
table.tablesaw thead td {
  color: #444;
  font-size: .9em; }

.tablesaw th,
.tablesaw td {
  line-height: 1em;
  text-align: left;
  vertical-align: middle; }

.tablesaw td,
.tablesaw tbody th {
  vertical-align: middle;
  font-size: 1.17em;
  /* 19px */ }

.tablesaw td .btn,
.tablesaw tbody th .btn {
  margin: 0; }

.tablesaw thead {
  border: 1px solid #e5e5e4;
  background: #e2dfdc;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e2dfdc));
  background-image: -webkit-linear-gradient(top, #fff, #e2dfdc);
  background-image: linear-gradient(to bottom, #fff, #e2dfdc); }

.tablesaw thead th {
  font-weight: 100;
  color: #777;
  text-transform: uppercase;
  text-shadow: 0 1px 0 #fff;
  text-align: left; }

.tablesaw thead tr:first-child th {
  font-weight: normal;
  font-family: sans-serif;
  border-right: 1px solid #e4e1de; }

/* Table rows have a gray bottom stroke by default */
.tablesaw tbody tr {
  border-bottom: 1px solid #dfdfdf; }

.tablesaw caption {
  text-align: left;
  margin-bottom: 0;
  opacity: .5;
  filter: alpha(opacity=50);
  line-height: 2.4; }

@media (min-width: 25em) {
  .tablesaw caption {
    margin-bottom: .6em;
    line-height: 1.2; } }

/* Stack */
.tablesaw-cell-label-top {
  text-transform: uppercase;
  font-size: .9em;
  font-weight: normal; }

.tablesaw-cell-label {
  font-size: .65em;
  text-transform: uppercase;
  color: #888;
  font-family: sans-serif; }

@media (min-width: 40em) {
  .tablesaw td {
    line-height: 2em; } }

@media only all {
  .tablesaw-swipe .tablesaw-cell-persist {
    border-right: 1px solid #e4e1de; }
  .tablesaw-swipe .tablesaw-cell-persist {
    -webkit-box-shadow: 3px 0 4px -1px #e4e1de;
    box-shadow: 3px 0 4px -1px #e4e1de; } }

/* Table rows have a gray bottom stroke by default */
.tablesaw-stack tbody tr {
  border-bottom: 1px solid #dfdfdf; }

.tablesaw-stack td .tablesaw-cell-label,
.tablesaw-stack th .tablesaw-cell-label {
  display: none; }

/* Mobile first styles: Begin with the stacked presentation at narrow widths */
@media only all {
  /* Show the table cells as a block level element */
  .tablesaw-stack td,
  .tablesaw-stack th {
    text-align: left;
    display: block; }
  .tablesaw-stack tr {
    clear: both;
    display: table-row; }
  /* Make the label elements a percentage width */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: block;
    padding: 0 .6em 0 0;
    width: 30%;
    display: inline-block; }
  /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */
  .tablesaw-stack th .tablesaw-cell-label-top,
  .tablesaw-stack td .tablesaw-cell-label-top {
    display: block;
    padding: .4em 0;
    margin: .4em 0; }
  .tablesaw-cell-label {
    display: block; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack tbody th.group {
    margin-top: -1px; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack th.group b.tablesaw-cell-label {
    display: none !important; } }

@media (max-width: 39.9375em) {
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: none; }
  .tablesaw-stack tbody td,
  .tablesaw-stack tbody th {
    clear: left;
    float: left;
    width: 100%; }
  .tablesaw-cell-label {
    vertical-align: top; }
  .tablesaw-cell-content {
    max-width: 67%;
    display: inline-block; }
  .tablesaw-stack td:empty,
  .tablesaw-stack th:empty {
    display: none; } }

/* Media query to show as a standard table at 560px (35em x 16px) or wider */
@media (min-width: 40em) {
  .tablesaw-stack tr {
    display: table-row; }
  /* Show the table header rows */
  .tablesaw-stack td,
  .tablesaw-stack th,
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: table-cell;
    margin: 0; }
  /* Hide the labels in each cell */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: none !important; } }

.tablesaw-fix-persist {
  table-layout: fixed; }

@media only all {
  /* Unchecked manually: Always hide */
  .tablesaw-swipe th.tablesaw-cell-hidden,
  .tablesaw-swipe td.tablesaw-cell-hidden {
    display: none; } }

.btn.tablesaw-columntoggle-btn span {
  text-indent: -9999px;
  display: inline-block; }

.tablesaw-columntoggle-btnwrap {
  position: relative;
  /* for dialog positioning */ }

.tablesaw-columntoggle-btnwrap .dialog-content {
  padding: .5em; }

.tablesaw-columntoggle tbody td {
  line-height: 1.5; }

/* Remove top/bottom margins around the fieldcontain on check list */
.tablesaw-columntoggle-popup {
  display: none; }

.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup {
  display: block;
  position: absolute;
  top: 2em;
  right: 0;
  background-color: #fff;
  padding: .5em .8em;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 1px 2px #ccc;
  box-shadow: 0 1px 2px #ccc;
  border-radius: .2em;
  z-index: 1; }

.tablesaw-columntoggle-popup fieldset {
  margin: 0; }

/* Hide all prioritized columns by default */
@media only all {
  .tablesaw-columntoggle th.tablesaw-priority-6,
  .tablesaw-columntoggle td.tablesaw-priority-6,
  .tablesaw-columntoggle th.tablesaw-priority-5,
  .tablesaw-columntoggle td.tablesaw-priority-5,
  .tablesaw-columntoggle th.tablesaw-priority-4,
  .tablesaw-columntoggle td.tablesaw-priority-4,
  .tablesaw-columntoggle th.tablesaw-priority-3,
  .tablesaw-columntoggle td.tablesaw-priority-3,
  .tablesaw-columntoggle th.tablesaw-priority-2,
  .tablesaw-columntoggle td.tablesaw-priority-2,
  .tablesaw-columntoggle th.tablesaw-priority-1,
  .tablesaw-columntoggle td.tablesaw-priority-1 {
    display: none; } }

.tablesaw-columntoggle-btnwrap .dialog-content {
  top: 0 !important;
  right: 1em;
  left: auto !important;
  width: 12em;
  max-width: 18em;
  margin: -.5em auto 0; }

.tablesaw-columntoggle-btnwrap .dialog-content:focus {
  outline-style: none; }

/* Preset breakpoints if "" class added to table */
/* Show priority 1 at 320px (20em x 16px) */
@media (min-width: 20em) {
  .tablesaw-columntoggle th.tablesaw-priority-1,
  .tablesaw-columntoggle td.tablesaw-priority-1 {
    display: table-cell; } }

/* Show priority 2 at 480px (30em x 16px) */
@media (min-width: 30em) {
  .tablesaw-columntoggle th.tablesaw-priority-2,
  .tablesaw-columntoggle td.tablesaw-priority-2 {
    display: table-cell; } }

/* Show priority 3 at 640px (40em x 16px) */
@media (min-width: 40em) {
  .tablesaw-columntoggle th.tablesaw-priority-3,
  .tablesaw-columntoggle td.tablesaw-priority-3 {
    display: table-cell; }
  .tablesaw-columntoggle tbody td {
    line-height: 2; } }

/* Show priority 4 at 800px (50em x 16px) */
@media (min-width: 50em) {
  .tablesaw-columntoggle th.tablesaw-priority-4,
  .tablesaw-columntoggle td.tablesaw-priority-4 {
    display: table-cell; } }

/* Show priority 5 at 960px (60em x 16px) */
@media (min-width: 60em) {
  .tablesaw-columntoggle th.tablesaw-priority-5,
  .tablesaw-columntoggle td.tablesaw-priority-5 {
    display: table-cell; } }

/* Show priority 6 at 1,120px (70em x 16px) */
@media (min-width: 70em) {
  .tablesaw-columntoggle th.tablesaw-priority-6,
  .tablesaw-columntoggle td.tablesaw-priority-6 {
    display: table-cell; } }

@media only all {
  /* Unchecked manually: Always hide */
  .tablesaw-columntoggle th.tablesaw-cell-hidden,
  .tablesaw-columntoggle td.tablesaw-cell-hidden {
    display: none; }
  /* Checked manually: Always show */
  .tablesaw-columntoggle th.tablesaw-cell-visible,
  .tablesaw-columntoggle td.tablesaw-cell-visible {
    display: table-cell; } }

.tablesaw-columntoggle-popup .btn-group > label {
  display: block;
  padding: .2em 0;
  white-space: nowrap; }

.tablesaw-columntoggle-popup .btn-group > label input {
  margin-right: .8em; }

.tablesaw-sortable,
.tablesaw-sortable thead,
.tablesaw-sortable thead tr,
.tablesaw-sortable thead tr th {
  position: relative; }

.tablesaw-sortable thead tr th {
  padding-right: 1.6em;
  vertical-align: top; }

.tablesaw-sortable th.tablesaw-sortable-head,
.tablesaw-sortable tr:first-child th.tablesaw-sortable-head {
  padding: 0; }

.tablesaw-sortable th.tablesaw-sortable-head button {
  padding-top: .9em;
  padding-bottom: .7em;
  padding-left: .6em;
  padding-right: 1.6em; }

.tablesaw-sortable .tablesaw-sortable-head button {
  min-width: 100%;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  font: inherit;
  text-transform: inherit;
  position: relative; }

.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after,
.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {
  width: 7px;
  height: 10px;
  content: "\0020";
  position: absolute;
  right: .5em; }

.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after {
  content: "\2191"; }

.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {
  content: "\2193"; }

.tablesaw-sortable .not-applicable:after {
  content: "--";
  display: block; }

.tablesaw-sortable .not-applicable span {
  display: none; }

.tablesaw-advance {
  float: right; }

.tablesaw-advance.minimap {
  margin-right: .4em; }

.tablesaw-advance-dots {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none; }

.tablesaw-advance-dots li {
  display: table-cell;
  margin: 0;
  padding: .4em .2em; }

.tablesaw-advance-dots li i {
  width: .25em;
  height: .25em;
  background: #555;
  border-radius: 100%;
  display: inline-block; }

.tablesaw-advance-dots-hide {
  opacity: .25;
  filter: alpha(opacity=25);
  cursor: default;
  pointer-events: none; }

.tablesaw th {
  background: white; }

/*! X-editable - v1.5.0
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.editableform {
  margin-bottom: 0;
  /* overwrites bootstrap margin */ }

.editableform .control-group {
  margin-bottom: 0;
  /* overwrites bootstrap margin */
  white-space: nowrap;
  /* prevent wrapping buttons on new line */
  line-height: 20px;
  /* overwriting bootstrap line-height. See #133 */ }

.editable-buttons {
  display: inline-block;
  /* should be inline to take effect of parent's white-space: nowrap */
  vertical-align: top;
  margin-left: 7px;
  /* inline-block emulation for IE7*/
  zoom: 1;
  *display: inline; }

.editable-buttons.editable-buttons-bottom {
  display: block;
  margin-top: 7px;
  margin-left: 0; }

.editable-input {
  vertical-align: top;
  display: inline-block;
  /* should be inline to take effect of parent's white-space: nowrap */
  width: auto;
  /* bootstrap-responsive has width: 100% that breakes layout */
  white-space: normal;
  /* reset white-space decalred in parent*/
  /* display-inline emulation for IE7*/
  zoom: 1;
  *display: inline; }

.editable-input input,
.editable-input select {
  margin-top: 0px; }

.editable-buttons .editable-cancel {
  margin-left: 7px; }

/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
  height: 24px;
  width: 30px; }

.editableform-loading {
  background: url("/imgs/common/xeditable/loading.gif") center center no-repeat;
  height: 25px;
  width: auto;
  min-width: 25px; }

.editable-inline .editableform-loading {
  background-position: left 5px; }

.editable-error-block {
  max-width: 300px;
  margin: 5px 0 0 0;
  width: auto;
  white-space: normal; }

/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
  padding: 3px; }

.editable-error {
  color: red; }

/* ---- For specific types ---- */
.editableform .editable-date {
  padding: 0;
  margin: 0;
  float: left; }

/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
  margin-top: 3px;
  margin-left: 1px; }

/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
  vertical-align: middle;
  margin: 0; }

.editable-checklist label {
  white-space: nowrap; }

/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
  width: 566px;
  height: 250px; }

/* clear button shown as link in date inputs */
.editable-clear {
  clear: both;
  font-size: 0.9em;
  text-decoration: none;
  text-align: right; }

/* IOS-style clear button for text inputs */
.editable-clear-x {
  background: url("/imgs/common/xeditable/clear.png") center center no-repeat;
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  opacity: 0.6;
  z-index: 100;
  top: 50%;
  right: 6px;
  margin-top: -6px; }

.editable-clear-x:hover {
  opacity: 1; }

.editable-pre-wrapped {
  white-space: pre-wrap; }

.editable-container.editable-popup {
  max-width: none !important;
  /* without this rule poshytip/tooltip does not stretch */ }

.editable-container.popover {
  width: auto;
  /* without this rule popover does not stretch */ }

.editable-container.editable-inline {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  /* inline-block emulation for IE7*/
  zoom: 1;
  *display: inline; }

.editable-container.ui-widget {
  font-size: inherit;
  /* jqueryui widget font 1.1em too big, overwrite it */
  z-index: 9990;
  /* should be less than select2 dropdown z-index to close dropdown first when click */ }

.editable-click,
a.editable-click,
a.editable-click:hover {
  text-decoration: none;
  border-bottom: dashed 1px #0088cc; }

.editable-click.editable-disabled,
a.editable-click.editable-disabled,
a.editable-click.editable-disabled:hover {
  color: #585858;
  cursor: default;
  border-bottom: none; }

.editable-empty, .editable-empty:hover, .editable-empty:focus {
  font-style: italic;
  color: #DD1144;
  /* border-bottom: none; */
  text-decoration: none; }

.editable-unsaved {
  font-weight: bold; }

.editable-unsaved:after {
  /*    content: '*'*/ }

.editable-bg-transition {
  transition: background-color 1400ms ease-out; }

/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable {
  padding-top: 5px;
  display: inline-block; }

/*!
 * Datepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */
.datepicker {
  padding: 4px;
  border-radius: 4px;
  direction: ltr;
  /*.dow {
    border-top: 1px solid #ddd !important;
  }*/ }

.datepicker-inline {
  width: 220px; }

.datepicker.datepicker-rtl {
  direction: rtl; }

.datepicker.datepicker-rtl table tr td span {
  float: right; }

.datepicker-dropdown {
  top: 0;
  left: 0; }

.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px; }

.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px; }

.datepicker > div {
  display: none; }

.datepicker.days div.datepicker-days {
  display: block; }

.datepicker.months div.datepicker-months {
  display: block; }

.datepicker.years div.datepicker-years {
  display: block; }

.datepicker table {
  margin: 0; }

.datepicker td,
.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: none; }

.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent; }

.datepicker table tr td.day:hover {
  background: #eeeeee;
  cursor: pointer; }

.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #999999; }

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #999999;
  cursor: default; }

.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #000; }

.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a; }

.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9; }

.datepicker table tr td.today:hover:hover {
  color: #000; }

.datepicker table tr td.today.active:hover {
  color: #fff; }

.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #eeeeee;
  border-radius: 0; }

.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  border-radius: 0; }

.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a; }

.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9; }

.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #fff; }

.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080; }

.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9; }

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #fff; }

.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #0044cc; }

.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9; }

.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px; }

.datepicker table tr td span:hover {
  background: #eeeeee; }

.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999999;
  cursor: default; }

.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #006dcc;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #fff; }

.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #0044cc; }

.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9; }

.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999999; }

.datepicker th.datepicker-switch {
  width: 145px; }

.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer; }

.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #eeeeee; }

.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle; }

.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent; }

.input-append.date .add-on i,
.input-prepend.date .add-on i {
  display: block;
  cursor: pointer;
  width: 16px;
  height: 16px; }

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

.input-daterange input:first-child {
  border-radius: 3px 0 0 3px; }

.input-daterange input:last-child {
  border-radius: 0 3px 3px 0; }

.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 18px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 18px;
  text-align: center;
  vertical-align: middle;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px; }

.editable-address {
  display: block;
  margin-bottom: 5px; }

.editable-address span {
  width: 70px;
  display: inline-block; }

.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
  margin-bottom: 0; }

.tt-dropdown-menu {
  min-width: 160px;
  margin-top: 2px;
  padding: 5px 0;
  border-radius: 6px;
  background-color: #fff;
  background-clip: padding-box;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }

.tt-suggestion {
  display: block;
  padding: 3px 20px; }

.tt-suggestion.tt-is-under-cursor {
  color: #fff;
  background-color: #0081c2; }

.tt-suggestion.tt-is-under-cursor a {
  color: #fff; }

.tt-suggestion p {
  margin: 0; }

/*
 *
 * Main stylesheet for Switchery.
 * http://abpetkov.github.io/switchery/
 *
 */
.switchery {
  background-color: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 20px;
  cursor: pointer;
  display: inline-block;
  height: 30px;
  position: relative;
  vertical-align: middle;
  width: 50px;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.switchery > small {
  background: #fff;
  border-radius: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  height: 30px;
  position: absolute;
  top: 0;
  width: 30px; }

ul.messenger {
  margin: 0;
  padding: 0; }

ul.messenger > li {
  list-style: none;
  margin: 0;
  padding: 0; }

ul.messenger.messenger-empty {
  display: none; }

ul.messenger .messenger-message {
  overflow: hidden;
  *zoom: 1; }

ul.messenger .messenger-message.messenger-hidden {
  display: none; }

ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a {
  border: none;
  padding-right: 5px; }

ul.messenger .messenger-message .messenger-actions {
  float: right; }

ul.messenger .messenger-message .messenger-actions a {
  cursor: pointer;
  padding-bottom: 3px;
  text-decoration: none;
  padding-right: 12.5px; }

ul.messenger .messenger-message ul, ul.messenger .messenger-message ol {
  margin: 10px 18px 0; }

ul.messenger.messenger-fixed {
  position: fixed;
  z-index: 9999999999999999999999999999999; }

ul.messenger.messenger-fixed .messenger-message {
  min-width: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

ul.messenger.messenger-fixed .message .messenger-actions {
  float: left; }

ul.messenger.messenger-fixed.messenger-on-top {
  top: 20px; }

ul.messenger.messenger-fixed.messenger-on-bottom {
  bottom: 20px; }

ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
  left: 50%;
  width: 800px;
  margin-left: -400px; }

@media (max-width: 960px) {
  ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
    left: 10%;
    width: 80%;
    margin-left: 0px; } }

ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {
  right: 20px;
  left: auto; }

ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left {
  left: 20px;
  margin-left: 0px; }

ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left {
  width: 350px; }

ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions {
  float: left; }

ul.messenger .messenger-spinner {
  display: none; }

@-webkit-keyframes ui-spinner-rotate-right {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(180deg); }
  50% {
    -webkit-transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@-webkit-keyframes ui-spinner-rotate-left {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@-moz-keyframes ui-spinner-rotate-right {
  0% {
    -moz-transform: rotate(0deg); }
  25% {
    -moz-transform: rotate(180deg); }
  50% {
    -moz-transform: rotate(180deg); }
  75% {
    -moz-transform: rotate(360deg); }
  100% {
    -moz-transform: rotate(360deg); } }

@-moz-keyframes ui-spinner-rotate-left {
  0% {
    -moz-transform: rotate(0deg); }
  25% {
    -moz-transform: rotate(0deg); }
  50% {
    -moz-transform: rotate(180deg); }
  75% {
    -moz-transform: rotate(180deg); }
  100% {
    -moz-transform: rotate(360deg); } }

@keyframes ui-spinner-rotate-right {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(180deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes ui-spinner-rotate-left {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

.messenger-spinner {
  position: relative;
  border-radius: 100%; }

ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
  display: block; }

.messenger-spinner .messenger-spinner-side {
  width: 50%;
  height: 100%;
  overflow: hidden;
  position: absolute; }

.messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
  border-radius: 999px;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -ms-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear; }

.messenger-spinner .messenger-spinner-side-left {
  left: 0; }

.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
  left: 100%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  -webkit-animation-name: ui-spinner-rotate-left;
  -moz-animation-name: ui-spinner-rotate-left;
  -ms-animation-name: ui-spinner-rotate-left;
  -o-animation-name: ui-spinner-rotate-left;
  animation-name: ui-spinner-rotate-left;
  -webkit-transform-origin: 0 50%;
  -moz-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  -o-transform-origin: 0 50%;
  transform-origin: 0 50%; }

.messenger-spinner .messenger-spinner-side-right {
  left: 50%; }

.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
  left: -100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  -webkit-animation-name: ui-spinner-rotate-right;
  -moz-animation-name: ui-spinner-rotate-right;
  -ms-animation-name: ui-spinner-rotate-right;
  -o-animation-name: ui-spinner-rotate-right;
  animation-name: ui-spinner-rotate-right;
  -webkit-transform-origin: 100% 50%;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -o-transform-origin: 100% 50%;
  transform-origin: 100% 50%; }

/**
 * Trumbowyg v2.1.0 - A lightweight WYSIWYG editor
 * Default stylesheet for Trumbowyg editor
 * ------------------------
 * @link http://alex-d.github.io/Trumbowyg
 * @license MIT
 * @author Alexandre Demode (Alex-D)
 *         Twitter : @AlexandreDemode
 *         Website : alex-d.fr
 */
#trumbowyg-icons {
  overflow: hidden;
  visibility: hidden;
  height: 0;
  width: 0; }

#trumbowyg-icons svg {
  height: 0;
  width: 0; }

.trumbowyg-box *,
.trumbowyg-box *::before,
.trumbowyg-box *::after {
  box-sizing: border-box; }

.trumbowyg-box svg {
  width: 17px;
  height: 100%;
  fill: #222; }

.trumbowyg-box,
.trumbowyg-editor {
  display: block;
  position: relative;
  border: 1px solid #DDD;
  width: 100%;
  min-height: 300px;
  margin: 17px auto; }

.trumbowyg-box .trumbowyg-editor {
  margin: 0 auto; }

.trumbowyg-box.trumbowyg-fullscreen {
  background: #FEFEFE;
  border: none !important; }

.trumbowyg-editor,
.trumbowyg-textarea {
  position: relative;
  box-sizing: border-box;
  padding: 20px;
  min-height: 300px;
  width: 100%;
  border-style: none;
  resize: none;
  outline: none;
  overflow: auto; }

.trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-box-blur .trumbowyg-editor::before {
  color: transparent !important;
  text-shadow: 0 0 7px #333; }

@media screen and (min-width: 0 \0 ) {
  .trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-box-blur .trumbowyg-editor::before {
    color: rgba(200, 200, 200, 0.6) !important; } }

@supports (-ms-accelerator: true) {
  .trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-box-blur .trumbowyg-editor::before {
    color: rgba(200, 200, 200, 0.6) !important; } }

.trumbowyg-box-blur .trumbowyg-editor img,
.trumbowyg-box-blur .trumbowyg-editor hr {
  opacity: 0.2; }

.trumbowyg-textarea {
  position: relative;
  display: block;
  overflow: auto;
  border: none;
  white-space: normal;
  font-size: 14px;
  font-family: "Inconsolata", "Consolas", "Courier", "Courier New", sans-serif;
  line-height: 18px; }

.trumbowyg-box.trumbowyg-editor-visible .trumbowyg-textarea {
  height: 1px !important;
  width: 25%;
  min-height: 0 !important;
  padding: 0 !important;
  background: none;
  opacity: 0 !important; }

.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-textarea {
  display: block; }

.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-editor {
  display: none; }

.trumbowyg-box.trumbowyg-disabled .trumbowyg-textarea {
  opacity: 0.8;
  background: none; }

.trumbowyg-editor[contenteditable=true]:empty::before {
  content: attr(placeholder);
  color: #999;
  pointer-events: none; }

.trumbowyg-button-pane {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 100%;
  min-height: 36px;
  background: #ecf0f1;
  border-bottom: 1px solid #d7e0e2;
  margin: 0;
  padding: 0 5px;
  list-style-type: none;
  line-height: 10px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.trumbowyg-button-pane::after {
  content: " ";
  display: block;
  position: absolute;
  top: 36px;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background: #d7e0e2; }

.trumbowyg-button-pane .trumbowyg-button-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }

.trumbowyg-button-pane .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
  color: transparent; }

.trumbowyg-button-pane .trumbowyg-button-group:not(:empty) + .trumbowyg-button-group::before {
  content: " ";
  display: block;
  width: 1px;
  background: #d7e0e2;
  margin: 0 5px;
  height: 35px; }

.trumbowyg-button-pane button {
  display: block;
  position: relative;
  width: 35px;
  height: 35px;
  padding: 1px 6px !important;
  margin-bottom: 1px;
  overflow: hidden;
  border: none;
  cursor: pointer;
  background: none;
  -webkit-transition: background-color 150ms, opacity 150ms;
  transition: background-color 150ms, opacity 150ms; }

.trumbowyg-button-pane.trumbowyg-disable button:not(.trumbowyg-not-disable):not(.trumbowyg-active),
.trumbowyg-disabled .trumbowyg-button-pane button:not(.trumbowyg-not-disable):not(.trumbowyg-viewHTML-button) {
  opacity: 0.2;
  cursor: default; }

.trumbowyg-button-pane.trumbowyg-disable .trumbowyg-button-group::before,
.trumbowyg-disabled .trumbowyg-button-pane .trumbowyg-button-group::before {
  background: #e3e9eb; }

.trumbowyg-button-pane button:not(.trumbowyg-disable):hover,
.trumbowyg-button-pane button:not(.trumbowyg-disable):focus,
.trumbowyg-button-pane button.trumbowyg-active {
  background-color: #FFF;
  outline: none; }

.trumbowyg-button-pane .trumbowyg-open-dropdown::after {
  display: block;
  content: " ";
  position: absolute;
  top: 25px;
  right: 3px;
  height: 0;
  width: 0;
  border: 3px solid transparent;
  border-top-color: #555; }

.trumbowyg-button-pane .trumbowyg-right {
  margin-left: auto; }

.trumbowyg-button-pane .trumbowyg-right::before {
  display: none !important; }

.trumbowyg-dropdown {
  width: 200px;
  border: 1px solid #ecf0f1;
  padding: 5px 0;
  border-top: none;
  background: #FFF;
  margin-left: -1px;
  box-shadow: rgba(0, 0, 0, 0.1) 0 2px 3px; }

.trumbowyg-dropdown button {
  display: block;
  width: 100%;
  height: 35px;
  line-height: 35px;
  text-decoration: none;
  background: #FFF;
  padding: 0 10px;
  color: #333 !important;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 15px;
  -webkit-transition: all 150ms;
  transition: all 150ms; }

.trumbowyg-dropdown button:hover, .trumbowyg-dropdown button:focus {
  background: #ecf0f1; }

.trumbowyg-dropdown button svg {
  float: left;
  margin-right: 14px; }

/* Modal box */
.trumbowyg-modal {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  max-width: 520px;
  width: 100%;
  height: 350px;
  z-index: 11;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.trumbowyg-modal-box {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  max-width: 500px;
  width: calc(100% - 20px);
  padding-bottom: 45px;
  z-index: 1;
  background-color: #FFF;
  text-align: center;
  font-size: 14px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 3px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.trumbowyg-modal-box .trumbowyg-modal-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 20px;
  padding: 15px 0 13px;
  display: block;
  border-bottom: 1px solid #EEE;
  color: #333;
  background: #fbfcfc; }

.trumbowyg-modal-box .trumbowyg-progress {
  width: 100%;
  height: 3px;
  position: absolute;
  top: 58px; }

.trumbowyg-modal-box .trumbowyg-progress .trumbowyg-progress-bar {
  background: #2BC06A;
  height: 100%;
  -webkit-transition: width 150ms linear;
  transition: width 150ms linear; }

.trumbowyg-modal-box label {
  display: block;
  position: relative;
  margin: 15px 12px;
  height: 27px;
  line-height: 27px;
  overflow: hidden; }

.trumbowyg-modal-box label .trumbowyg-input-infos {
  display: block;
  text-align: left;
  height: 25px;
  line-height: 25px;
  -webkit-transition: all 150ms;
  transition: all 150ms; }

.trumbowyg-modal-box label .trumbowyg-input-infos span {
  display: block;
  color: #69878f;
  background-color: #fbfcfc;
  border: 1px solid #DEDEDE;
  padding: 0 7px;
  width: 150px; }

.trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error {
  color: #e74c3c; }

.trumbowyg-modal-box label.trumbowyg-input-error input,
.trumbowyg-modal-box label.trumbowyg-input-error textarea {
  border: 1px solid #e74c3c; }

.trumbowyg-modal-box label.trumbowyg-input-error .trumbowyg-input-infos {
  margin-top: -27px; }

.trumbowyg-modal-box label input {
  position: absolute;
  top: 0;
  right: 0;
  height: 27px;
  line-height: 27px;
  border: 1px solid #DEDEDE;
  background: #fff;
  font-size: 14px;
  max-width: 330px;
  width: 70%;
  padding: 0 7px;
  -webkit-transition: all 150ms;
  transition: all 150ms; }

.trumbowyg-modal-box label input:hover, .trumbowyg-modal-box label input:focus {
  outline: none;
  border: 1px solid #95a5a6; }

.trumbowyg-modal-box label input:focus {
  background: #fbfcfc; }

.trumbowyg-modal-box .error {
  margin-top: 25px;
  display: block;
  color: red; }

.trumbowyg-modal-box .trumbowyg-modal-button {
  position: absolute;
  bottom: 10px;
  right: 0;
  text-decoration: none;
  color: #FFF;
  display: block;
  width: 100px;
  height: 35px;
  line-height: 33px;
  margin: 0 10px;
  background-color: #333;
  border: none;
  cursor: pointer;
  font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif;
  font-size: 16px;
  -webkit-transition: all 150ms;
  transition: all 150ms; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit {
  right: 110px;
  background: #2bc06a; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover, .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus {
  background: #40d47e;
  outline: none; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active {
  background: #25a25a; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset {
  color: #555;
  background: #e6e6e6; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover, .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus {
  background: #fbfbfb;
  outline: none; }

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active {
  background: #d5d5d5; }

.trumbowyg-overlay {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.5);
  width: 100%;
  left: 0;
  display: none;
  z-index: 10; }

/**
 * Fullscreen
 */
body.trumbowyg-body-fullscreen {
  overflow: hidden; }

.trumbowyg-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  z-index: 99999; }

.trumbowyg-fullscreen.trumbowyg-box,
.trumbowyg-fullscreen .trumbowyg-editor {
  border: none; }

.trumbowyg-fullscreen .trumbowyg-editor,
.trumbowyg-fullscreen .trumbowyg-textarea {
  height: calc(100% - 37px) !important;
  overflow: auto; }

.trumbowyg-fullscreen .trumbowyg-overlay {
  height: 100% !important; }

.trumbowyg-fullscreen .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
  color: #222;
  fill: transparent; }

.trumbowyg-editor {
  /*
     * lset for resetCss option
     */ }

.trumbowyg-editor object,
.trumbowyg-editor embed,
.trumbowyg-editor video,
.trumbowyg-editor img {
  max-width: 100%; }

.trumbowyg-editor video,
.trumbowyg-editor img {
  height: auto; }

.trumbowyg-editor img {
  cursor: move; }

.trumbowyg-editor.trumbowyg-reset-css {
  background: #FEFEFE !important;
  font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45em !important;
  white-space: normal !important;
  color: #333; }

.trumbowyg-editor.trumbowyg-reset-css a {
  color: #15c !important;
  text-decoration: underline !important; }

.trumbowyg-editor.trumbowyg-reset-css div,
.trumbowyg-editor.trumbowyg-reset-css p,
.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol,
.trumbowyg-editor.trumbowyg-reset-css blockquote {
  box-shadow: none !important;
  background: none !important;
  margin: 0 !important;
  margin-bottom: 15px !important;
  line-height: 1.4em !important;
  font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
  font-size: 14px !important;
  border: none; }

.trumbowyg-editor.trumbowyg-reset-css iframe,
.trumbowyg-editor.trumbowyg-reset-css object,
.trumbowyg-editor.trumbowyg-reset-css hr {
  margin-bottom: 15px !important; }

.trumbowyg-editor.trumbowyg-reset-css blockquote {
  margin-left: 32px !important;
  font-style: italic !important;
  color: #555; }

.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol {
  padding-left: 20px !important; }

.trumbowyg-editor.trumbowyg-reset-css ul ul,
.trumbowyg-editor.trumbowyg-reset-css ol ol,
.trumbowyg-editor.trumbowyg-reset-css ul ol,
.trumbowyg-editor.trumbowyg-reset-css ol ul {
  border: none;
  margin: 2px !important;
  padding: 0 !important;
  padding-left: 24px !important; }

.trumbowyg-editor.trumbowyg-reset-css hr {
  display: block;
  height: 1px;
  border: none;
  border-top: 1px solid #CCC; }

.trumbowyg-editor.trumbowyg-reset-css h1,
.trumbowyg-editor.trumbowyg-reset-css h2,
.trumbowyg-editor.trumbowyg-reset-css h3,
.trumbowyg-editor.trumbowyg-reset-css h4 {
  color: #111;
  background: none;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: bold; }

.trumbowyg-editor.trumbowyg-reset-css h1 {
  font-size: 32px !important;
  line-height: 38px !important;
  margin-bottom: 20px !important; }

.trumbowyg-editor.trumbowyg-reset-css h2 {
  font-size: 26px !important;
  line-height: 34px !important;
  margin-bottom: 15px !important; }

.trumbowyg-editor.trumbowyg-reset-css h3 {
  font-size: 22px !important;
  line-height: 28px !important;
  margin-bottom: 7px !important; }

.trumbowyg-editor.trumbowyg-reset-css h4 {
  font-size: 16px !important;
  line-height: 22px !important;
  margin-bottom: 7px !important; }

/*
 * Dark theme
 */
.trumbowyg-dark .trumbowyg-textarea {
  background: #111;
  color: #ddd; }

.trumbowyg-dark .trumbowyg-box {
  border: 1px solid #343434; }

.trumbowyg-dark .trumbowyg-box.trumbowyg-fullscreen {
  background: #111; }

.trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before {
  text-shadow: 0 0 7px #ccc; }

@media screen and (min-width: 0 \0 ) {
  .trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before {
    color: rgba(20, 20, 20, 0.6) !important; } }

@supports (-ms-accelerator: true) {
  .trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor *, .trumbowyg-dark .trumbowyg-box.trumbowyg-box-blur .trumbowyg-editor::before {
    color: rgba(20, 20, 20, 0.6) !important; } }

.trumbowyg-dark .trumbowyg-box svg {
  fill: #ecf0f1;
  color: #ecf0f1; }

.trumbowyg-dark .trumbowyg-button-pane {
  background-color: #222;
  border-bottom-color: #343434; }

.trumbowyg-dark .trumbowyg-button-pane::after {
  background: #343434; }

.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-button-group:not(:empty)::before {
  background-color: #343434; }

.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-button-group:not(:empty) .trumbowyg-fullscreen-button svg {
  color: transparent; }

.trumbowyg-dark .trumbowyg-button-pane.trumbowyg-disable .trumbowyg-button-group::before {
  background-color: #2a2a2a; }

.trumbowyg-dark .trumbowyg-button-pane button:not(.trumbowyg-disable):hover,
.trumbowyg-dark .trumbowyg-button-pane button:not(.trumbowyg-disable):focus,
.trumbowyg-dark .trumbowyg-button-pane button.trumbowyg-active {
  background-color: #333; }

.trumbowyg-dark .trumbowyg-button-pane .trumbowyg-open-dropdown::after {
  border-top-color: #fff; }

.trumbowyg-dark .trumbowyg-fullscreen .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
  color: #ecf0f1;
  fill: transparent; }

.trumbowyg-dark .trumbowyg-dropdown {
  border-color: #222;
  background: #333;
  box-shadow: rgba(0, 0, 0, 0.3) 0 2px 3px; }

.trumbowyg-dark .trumbowyg-dropdown button {
  background: #333;
  color: #fff !important; }

.trumbowyg-dark .trumbowyg-dropdown button:hover, .trumbowyg-dark .trumbowyg-dropdown button:focus {
  background: #222; }

.trumbowyg-dark .trumbowyg-modal-box {
  background-color: #222; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-title {
  border-bottom: 1px solid #555;
  color: #fff;
  background: #3c3c3c; }

.trumbowyg-dark .trumbowyg-modal-box label {
  display: block;
  position: relative;
  margin: 15px 12px;
  height: 27px;
  line-height: 27px;
  overflow: hidden; }

.trumbowyg-dark .trumbowyg-modal-box label .trumbowyg-input-infos span {
  color: #eee;
  background-color: #2f2f2f;
  border-color: #222; }

.trumbowyg-dark .trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error {
  color: #e74c3c; }

.trumbowyg-dark .trumbowyg-modal-box label.trumbowyg-input-error input,
.trumbowyg-dark .trumbowyg-modal-box label.trumbowyg-input-error textarea {
  border-color: #e74c3c; }

.trumbowyg-dark .trumbowyg-modal-box label input {
  border-color: #222;
  color: #eee;
  background: #333; }

.trumbowyg-dark .trumbowyg-modal-box label input:hover, .trumbowyg-dark .trumbowyg-modal-box label input:focus {
  border-color: #626262; }

.trumbowyg-dark .trumbowyg-modal-box label input:focus {
  background-color: #2f2f2f; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit {
  background: #1b7943; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover, .trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus {
  background: #25a25a; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active {
  background: #176437; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset {
  background: #333;
  color: #ccc; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover, .trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus {
  background: #444; }

.trumbowyg-dark .trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active {
  background: #111; }

.trumbowyg-dark .trumbowyg-overlay {
  background-color: rgba(15, 15, 15, 0.6); }

/* BASICS */
.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
  color: black; }

/* PADDING */
.CodeMirror-lines {
  padding: 4px 0;
  /* Vertical padding around content */ }

.CodeMirror pre {
  padding: 0 4px;
  /* Horizontal padding of content */ }

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white;
  /* The little square between H and V scrollbars */ }

/* GUTTER */
.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap; }

.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap; }

.CodeMirror-guttermarker {
  color: black; }

.CodeMirror-guttermarker-subtle {
  color: #999; }

/* CURSOR */
.CodeMirror-cursor {
  border-left: 1px solid black;
  border-right: none;
  width: 0; }

/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver; }

.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0 !important;
  background: #7e7; }

.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1; }

.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7; }

@-moz-keyframes blink {
  0% { }
  50% {
    background-color: transparent; }
  100% { } }

@-webkit-keyframes blink {
  0% { }
  50% {
    background-color: transparent; }
  100% { } }

@keyframes blink {
  0% { }
  50% {
    background-color: transparent; }
  100% { } }

/* Can style cursor different in overwrite (non-insert) mode */
.cm-tab {
  display: inline-block;
  text-decoration: inherit; }

.CodeMirror-rulers {
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  bottom: -20px;
  overflow: hidden; }

.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  top: 0;
  bottom: 0;
  position: absolute; }

/* DEFAULT THEME */
.cm-s-default .cm-header {
  color: blue; }

.cm-s-default .cm-quote {
  color: #090; }

.cm-negative {
  color: #d44; }

.cm-positive {
  color: #292; }

.cm-header, .cm-strong {
  font-weight: bold; }

.cm-em {
  font-style: italic; }

.cm-link {
  text-decoration: underline; }

.cm-strikethrough {
  text-decoration: line-through; }

.cm-s-default .cm-keyword {
  color: #708; }

.cm-s-default .cm-atom {
  color: #219; }

.cm-s-default .cm-number {
  color: #164; }

.cm-s-default .cm-def {
  color: #00f; }

.cm-s-default .cm-variable-2 {
  color: #05a; }

.cm-s-default .cm-variable-3 {
  color: #085; }

.cm-s-default .cm-comment {
  color: #a50; }

.cm-s-default .cm-string {
  color: #a11; }

.cm-s-default .cm-string-2 {
  color: #f50; }

.cm-s-default .cm-meta {
  color: #555; }

.cm-s-default .cm-qualifier {
  color: #555; }

.cm-s-default .cm-builtin {
  color: #30a; }

.cm-s-default .cm-bracket {
  color: #997; }

.cm-s-default .cm-tag {
  color: #170; }

.cm-s-default .cm-attribute {
  color: #00c; }

.cm-s-default .cm-hr {
  color: #999; }

.cm-s-default .cm-link {
  color: #00c; }

.cm-s-default .cm-error {
  color: #f00; }

.cm-invalidchar {
  color: #f00; }

.CodeMirror-composing {
  border-bottom: 2px solid; }

/* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket {
  color: #0f0; }

div.CodeMirror span.CodeMirror-nonmatchingbracket {
  color: #f22; }

.CodeMirror-matchingtag {
  background: rgba(255, 150, 0, 0.3); }

.CodeMirror-activeline-background {
  background: #e8f2ff; }

/* STOP */
/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */
.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white; }

.CodeMirror-scroll {
  overflow: scroll !important;
  /* Things will break if this is overridden */
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px;
  margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none;
  /* Prevent dragging from highlighting the element */
  position: relative; }

.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent; }

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actual scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none; }

.CodeMirror-vscrollbar {
  right: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: scroll; }

.CodeMirror-hscrollbar {
  bottom: 0;
  left: 0;
  overflow-y: hidden;
  overflow-x: scroll; }

.CodeMirror-scrollbar-filler {
  right: 0;
  bottom: 0; }

.CodeMirror-gutter-filler {
  left: 0;
  bottom: 0; }

.CodeMirror-gutters {
  position: absolute;
  left: 0;
  top: 0;
  min-height: 100%;
  z-index: 3; }

.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -30px;
  /* Hack to make IE7 behave */
  *zoom: 1;
  *display: inline; }

.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important; }

.CodeMirror-gutter-background {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 4; }

.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4; }

.CodeMirror-gutter-wrapper {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.CodeMirror-lines {
  cursor: text;
  min-height: 1px;
  /* prevents collapsing before first draw */ }

.CodeMirror pre {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none; }

.CodeMirror-wrap pre {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal; }

.CodeMirror-linebackground {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0; }

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  overflow: auto; }

.CodeMirror-code {
  outline: none; }

/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.CodeMirror-cursor {
  position: absolute;
  pointer-events: none; }

.CodeMirror-measure pre {
  position: static; }

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3; }

div.CodeMirror-dragcursors {
  visibility: visible; }

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible; }

.CodeMirror-selected {
  background: #d9d9d9; }

.CodeMirror-focused .CodeMirror-selected {
  background: #d7d4f0; }

.CodeMirror-crosshair {
  cursor: crosshair; }

.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection {
  background: #d7d4f0; }

.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection {
  background: #d7d4f0; }

.cm-searching {
  background: #ffa;
  background: rgba(255, 255, 0, 0.4); }

/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span {
  *vertical-align: text-bottom; }

/* Used to force a border model for a node */
.cm-force-border {
  padding-right: .1px; }

@media print {
  /* Hide the cursor when printing */
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden; } }

/* See issue #2901 */
.cm-tab-wrap-hack:after {
  content: ''; }

/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext {
  background: none; }

/*
 * Table styles
 */
table.dataTable {
  width: 100%;
  margin: 0 auto;
  clear: both;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 28px;
  /*
   * Header and footer styles
   */
  /*
   * Body styles
   */ }

table.dataTable thead th,
table.dataTable tfoot th {
  font-weight: bold; }

table.dataTable thead th,
table.dataTable thead td {
  padding: 10px 18px;
  border-bottom: 1px solid #111111; }

table.dataTable thead th:active,
table.dataTable thead td:active {
  outline: none; }

table.dataTable tfoot th,
table.dataTable tfoot td {
  padding: 10px 18px 6px 18px;
  border-top: 1px solid #111111; }

table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting {
  cursor: pointer;
  *cursor: hand; }

table.dataTable thead .sorting {
  background: url("/imgs/common/datatables/sort_both.png") no-repeat center right; }

table.dataTable thead .sorting_asc {
  background: url("/imgs/common/datatables/sort_asc.png") no-repeat center right; }

table.dataTable thead .sorting_desc {
  background: url("/imgs/common/datatables/sort_desc.png") no-repeat center right; }

table.dataTable thead .sorting_asc_disabled {
  background: url("/imgs/common/datatables/sort_asc_disabled.png") no-repeat center right; }

table.dataTable thead .sorting_desc_disabled {
  background: url("/imgs/common/datatables/sort_desc_disabled.png") no-repeat center right; }

table.dataTable tbody tr {
  background-color: white; }

table.dataTable tbody tr.selected {
  background-color: #b0bed9; }

table.dataTable tbody th,
table.dataTable tbody td {
  padding: 8px 10px; }

table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
  border-top: 1px solid #dddddd; }

table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
  border-top: none; }

table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
  border-top: 1px solid #dddddd;
  border-right: 1px solid #dddddd; }

table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
  border-left: 1px solid #dddddd; }

table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
  border-top: none; }

table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
  background-color: #f9f9f9; }

table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
  background-color: #abb9d3; }

table.dataTable.hover tbody tr:hover,
table.dataTable.hover tbody tr.odd:hover,
table.dataTable.hover tbody tr.even:hover, table.dataTable.display tbody tr:hover,
table.dataTable.display tbody tr.odd:hover,
table.dataTable.display tbody tr.even:hover {
  background-color: whitesmoke; }

table.dataTable.hover tbody tr:hover.selected,
table.dataTable.hover tbody tr.odd:hover.selected,
table.dataTable.hover tbody tr.even:hover.selected, table.dataTable.display tbody tr:hover.selected,
table.dataTable.display tbody tr.odd:hover.selected,
table.dataTable.display tbody tr.even:hover.selected {
  background-color: #a9b7d1; }

table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
  background-color: #f9f9f9; }

table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
  background-color: #acbad4; }

table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
  background-color: #f1f1f1; }

table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
  background-color: #f3f3f3; }

table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
  background-color: whitesmoke; }

table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
  background-color: #a6b3cd; }

table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
  background-color: #a7b5ce; }

table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
  background-color: #a9b6d0; }

table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
  background-color: #f9f9f9; }

table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
  background-color: #fbfbfb; }

table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
  background-color: #fdfdfd; }

table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
  background-color: #acbad4; }

table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
  background-color: #adbbd6; }

table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
  background-color: #afbdd8; }

table.dataTable.display tbody tr:hover > .sorting_1,
table.dataTable.display tbody tr.odd:hover > .sorting_1,
table.dataTable.display tbody tr.even:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1,
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_1,
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_1 {
  background-color: #eaeaea; }

table.dataTable.display tbody tr:hover > .sorting_2,
table.dataTable.display tbody tr.odd:hover > .sorting_2,
table.dataTable.display tbody tr.even:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2,
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_2,
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_2 {
  background-color: #ebebeb; }

table.dataTable.display tbody tr:hover > .sorting_3,
table.dataTable.display tbody tr.odd:hover > .sorting_3,
table.dataTable.display tbody tr.even:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3,
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_3,
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_3 {
  background-color: #eeeeee; }

table.dataTable.display tbody tr:hover.selected > .sorting_1,
table.dataTable.display tbody tr.odd:hover.selected > .sorting_1,
table.dataTable.display tbody tr.even:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1,
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_1,
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_1 {
  background-color: #a1aec7; }

table.dataTable.display tbody tr:hover.selected > .sorting_2,
table.dataTable.display tbody tr.odd:hover.selected > .sorting_2,
table.dataTable.display tbody tr.even:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2,
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_2,
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_2 {
  background-color: #a2afc8; }

table.dataTable.display tbody tr:hover.selected > .sorting_3,
table.dataTable.display tbody tr.odd:hover.selected > .sorting_3,
table.dataTable.display tbody tr.even:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3,
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_3,
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 {
  background-color: #a4b2cb; }

table.dataTable.no-footer {
  border-bottom: 1px solid #111111; }

table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap; }

table.dataTable.compact thead th,
table.dataTable.compact thead td {
  padding: 5px 9px; }

table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
  padding: 5px 9px 3px 9px; }

table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
  padding: 4px 5px; }

table.dataTable th.dt-left,
table.dataTable td.dt-left {
  text-align: left; }

table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
  text-align: center; }

table.dataTable th.dt-right,
table.dataTable td.dt-right {
  text-align: right; }

table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
  text-align: justify; }

table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
  white-space: nowrap; }

table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
  text-align: left; }

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
  text-align: center; }

table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
  text-align: right; }

table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
  text-align: justify; }

table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
  white-space: nowrap; }

table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
  text-align: left; }

table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
  text-align: center; }

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
  text-align: right; }

table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
  text-align: justify; }

table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
  white-space: nowrap; }

table.dataTable,
table.dataTable th,
table.dataTable td {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

/*
 * Control feature layout
 */
.dataTables_wrapper {
  position: relative;
  clear: both;
  *zoom: 1;
  zoom: 1; }

.dataTables_wrapper .dataTables_length {
  float: left; }

.dataTables_wrapper .dataTables_length select {
  width: auto;
  display: inline-block; }

.dataTables_wrapper .dataTables_filter {
  float: right;
  text-align: right; }

.dataTables_wrapper .dataTables_filter input {
  width: auto;
  margin-left: 0.5em;
  display: inline-block; }

.dataTables_wrapper .dataTables_info {
  clear: both;
  float: left;
  padding-top: 5px; }

.dataTables_wrapper .dataTables_paginate {
  float: right;
  text-align: right;
  padding-top: 0.25em; }

.dataTables_wrapper .dataTables_paginate .paginate_button {
  box-sizing: border-box;
  display: inline-block;
  min-width: 1.5em;
  padding: 0.25em 1em 0.5em 1em;
  margin-left: 2px;
  text-align: center;
  cursor: pointer;
  *cursor: hand;
  border-color: transparent; }

.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background-color: white; }

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  cursor: default;
  color: #666 !important;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none; }

.dataTables_wrapper .dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 40px;
  margin-left: -50%;
  margin-top: -25px;
  padding-top: 20px;
  text-align: center;
  font-size: 1.2em;
  background-color: white;
  /* Opera 11.10+ */
  background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  /* W3C */ }

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: #333333; }

.dataTables_wrapper .dataTables_scroll {
  clear: both; }

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
  *margin-top: -1px;
  -webkit-overflow-scrolling: touch; }

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
  height: 0;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important; }

.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 1px solid #111111; }

.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
  border-bottom: none; }

.dataTables_wrapper:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
  height: 0; }

@media screen and (max-width: 767px) {
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    float: none;
    text-align: center; }
  .dataTables_wrapper .dataTables_paginate {
    margin-top: 0.5em; } }

@media screen and (max-width: 640px) {
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    float: none;
    text-align: center; }
  .dataTables_wrapper .dataTables_filter {
    margin-top: 0.5em; } }

table.dataTable.dtr-inline.collapsed tbody td:first-child,
table.dataTable.dtr-inline.collapsed tbody th:first-child {
  position: relative;
  padding-left: 30px;
  cursor: pointer; }

table.dataTable.dtr-inline.collapsed tbody td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
  top: 8px;
  left: 4px;
  height: 16px;
  width: 16px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  text-align: center;
  line-height: 14px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  content: '+';
  background-color: #31b131; }

table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before {
  content: '-';
  background-color: #d33333; }

table.dataTable.dtr-inline.collapsed tbody tr.child td:before {
  display: none; }

table.dataTable.dtr-column tbody td.control,
table.dataTable.dtr-column tbody th.control {
  position: relative;
  cursor: pointer; }

table.dataTable.dtr-column tbody td.control:before,
table.dataTable.dtr-column tbody th.control:before {
  top: 50%;
  left: 50%;
  height: 16px;
  width: 16px;
  margin-top: -10px;
  margin-left: -10px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  text-align: center;
  line-height: 14px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  content: '+';
  background-color: #31b131; }

table.dataTable.dtr-column tbody tr.parent td.control:before,
table.dataTable.dtr-column tbody tr.parent th.control:before {
  content: '-';
  background-color: #d33333; }

table.dataTable tr.child {
  padding: 0.5em 1em; }

table.dataTable tr.child:hover {
  background: transparent !important; }

table.dataTable tr.child ul {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0; }

table.dataTable tr.child ul li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0; }

table.dataTable tr.child ul li:first-child {
  padding-top: 0; }

table.dataTable tr.child ul li:last-child {
  border-bottom: none; }

table.dataTable tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold; }

/* Ion.RangeSlider
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// RangeSlider */
/*@noflip*/
.irs {
  position: relative;
  display: block; }

/*@noflip*/
.irs-line {
  position: relative;
  display: block;
  overflow: hidden; }

/*@noflip*/
.irs-line-left, .irs-line-mid, .irs-line-right {
  position: absolute;
  display: block;
  top: 0; }

/*@noflip*/
.irs-line-left {
  left: 0;
  width: 10%; }

/*@noflip*/
.irs-line-mid {
  left: 9%;
  width: 82%; }

/*@noflip*/
.irs-line-right {
  right: 0;
  width: 10%; }

/*@noflip*/
.irs-diapason {
  position: absolute;
  display: block;
  left: 0;
  width: 100%; }

/*@noflip*/
.irs-slider {
  position: absolute;
  display: block;
  cursor: default;
  z-index: 1; }

/*@noflip*/
.irs-slider.single {
  left: 10px; }

/*@noflip*/
.irs-slider.single:before {
  position: absolute;
  display: block;
  content: "";
  top: -30%;
  left: -30%;
  width: 160%;
  height: 160%;
  background: rgba(0, 0, 0, 0); }

/*@noflip*/
.irs-slider.from {
  left: 100px; }

/*@noflip*/
.irs-slider.from:before {
  position: absolute;
  display: block;
  content: "";
  top: -30%;
  left: -30%;
  width: 130%;
  height: 160%;
  background: rgba(0, 0, 0, 0); }

/*@noflip*/
.irs-slider.to {
  left: 300px; }

/*@noflip*/
.irs-slider.to:before {
  position: absolute;
  display: block;
  content: "";
  top: -30%;
  left: 0;
  width: 130%;
  height: 160%;
  background: rgba(0, 0, 0, 0); }

/*@noflip*/
.irs-slider.last {
  z-index: 2; }

/*@noflip*/
.irs-min {
  position: absolute;
  display: block;
  left: 0;
  cursor: default; }

/*@noflip*/
.irs-max {
  position: absolute;
  display: block;
  right: 0;
  cursor: default; }

/*@noflip*/
.irs-from, .irs-to, .irs-single {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap; }

/*@noflip*/
.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px; }

/*@noflip*/
.irs-with-grid .irs-grid {
  display: block; }

/*@noflip*/
.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000; }

/*@noflip*/
.irs-grid-pol.small {
  height: 4px; }

/*@noflip*/
.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  color: #000; }

/*@noflip*/
.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: default;
  background: rgba(0, 0, 0, 0);
  z-index: 2; }

/*@noflip*/
.irs-disabled {
  opacity: 0.4; }

/*!
 * FullCalendar v2.1.0-beta2 Stylesheet
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left; }

.fc-rtl {
  text-align: right; }

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed hr,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-row,
.fc-unthemed .fc-popover {
  border-color: #ddd; }

.fc-unthemed .fc-popover {
  background-color: #fff; }

.fc-unthemed hr,
.fc-unthemed .fc-popover .fc-header {
  background: #eee; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666; }

.fc-unthemed .fc-today {
  background: #fcf8e3; }

.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: .3;
  filter: alpha(opacity=30);
  /* for IE */ }

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  font-size: 2em;
  line-height: .5em;
  height: .5em;
  /* will make the total height 1em */
  font-family: "Courier New", Courier, monospace; }

.fc-icon-left-single-arrow:after {
  content: "\02039";
  font-weight: bold; }

.fc-icon-right-single-arrow:after {
  content: "\0203A";
  font-weight: bold; }

.fc-icon-left-double-arrow:after {
  content: "\000AB"; }

.fc-icon-right-double-arrow:after {
  content: "\000BB"; }

.fc-icon-x:after {
  content: "\000D7"; }

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 .6em;
  /* text & cursor */
  font-size: 1em;
  /* normalize */
  white-space: nowrap;
  cursor: pointer; }

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0; }

.fc-state-default {
  /* non-theme */
  border: 1px solid; }

.fc-state-default.fc-corner-left {
  /* non-theme */
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.fc-state-default.fc-corner-right {
  /* non-theme */
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

/* icons in buttons */
.fc button .fc-icon {
  /* non-theme */
  position: relative;
  top: .05em;
  /* seems to be a good adjustment across browsers */
  margin: 0 .1em; }

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333; }

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6; }

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear; }

.fc-state-down,
.fc-state-active {
  background-color: #cccccc; }

.fc-state-disabled {
  cursor: default;
  opacity: 0.65; }

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block; }

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * {
  /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px; }

.fc .fc-button-group > :first-child {
  /* same */
  margin-left: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute; }

.fc-popover .fc-header {
  padding: 2px 4px; }

.fc-popover .fc-header .fc-title {
  margin: 0 2px; }

.fc-popover .fc-header .fc-close {
  cursor: pointer; }

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left; }

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right; }

/* unthemed */
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: 25px;
  margin-top: 4px; }

/* jqui themed */
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0;
  /* where they meet, let the header have the border */ }

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc hr {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-style: solid;
  border-width: 1px 0; }

.fc-clear {
  clear: both; }

.fc-bg,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */ }

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */ }

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */ }

.fc th {
  text-align: center; }

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top; }

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */ }

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0; }

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent; }

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */ }

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative; }

.fc-row .fc-bg {
  z-index: 1; }

/* highlighting cells */
.fc-row .fc-highlight-skeleton {
  z-index: 2;
  bottom: 0;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-highlight-skeleton td {
  border-color: transparent; }

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 3;
  padding-bottom: 1px;
  /* matches the space between events */ }

.fc-row .fc-helper-skeleton {
  z-index: 4; }

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent;
  /* don't put a border between events and/or the day number */
  border-bottom: 0; }

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0; }

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  /* this class goes on elements for guaranteed vertical scrollbars */
  overflow-y: scroll;
  overflow-x: hidden; }

.fc-scroller > * {
  /* we expect an immediate inner element */
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  overflow: hidden;
  /* don't let negative margins or absolute positioning create further scroll */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  /* always an <a> tag */
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  border: 1px solid #3a87ad;
  /* default BORDER color */
  background-color: #3a87ad;
  /* default BACKGROUND color */
  color: #fff;
  /* default TEXT color */
  font-size: .85em;
  line-height: 1.3;
  border-radius: 3px;
  text-decoration: none;
  /* if it has an href */ }
  .fc-event:hover, .fc-event:focus {
    color: white;
    padding: 0 !important;
    border-color: #3A87AD; }

.ui-widget .fc-event {
  /* undo jqui's styles on <a> tags */
  color: #fff;
  font-weight: normal; }

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */ }

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 1px 0;
  /* spacing between events and edges */ }

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-day-grid-event.fc-not-start,
.fc-rtl .fc-day-grid-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.fc-ltr .fc-day-grid-event.fc-not-end,
.fc-rtl .fc-day-grid-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.fc-day-grid-event > .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden; }

.fc-day-grid-event .fc-time {
  font-weight: bold; }

/* resize handle (outside of fc-content, so can go outside of bounds) */
.fc-day-grid-event .fc-resizer {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7px; }

.fc-ltr .fc-day-grid-event .fc-resizer {
  right: -3px;
  cursor: e-resize; }

.fc-rtl .fc-day-grid-event .fc-resizer {
  left: -3px;
  cursor: w-resize; }

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center;
  margin-bottom: 1em; }

.fc-toolbar .fc-left {
  float: left; }

.fc-toolbar .fc-right {
  float: right; }

.fc-toolbar .fc-center {
  display: inline-block; }

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * {
  /* extra precedence to override button border margins */
  float: left;
  margin-left: .75em; }

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child {
  /* extra precedence to override button border margins */
  margin-left: 0; }

/* title text */
.fc-toolbar h2 {
  margin: 0; }

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative; }

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2; }

.fc-toolbar .fc-state-down {
  z-index: 3; }

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4; }

.fc-toolbar button:focus {
  z-index: 5; }

/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1; }

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* in basicWeek and basicDay views, where we are sure there are no day numbers, ensure
     a space at the bottom of the cell to allow for day selecting/clicking */
  padding-bottom: 1em; }

.fc-basic-view tbody .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */ }

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden; }

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

/* week and day number styling */
.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 0 2px; }

.fc-basic-view td.fc-week-number span,
.fc-basic-view td.fc-day-number {
  padding-top: 2px;
  padding-bottom: 2px; }

.fc-basic-view .fc-week-number {
  text-align: center; }

.fc-basic-view .fc-week-number span {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em; }

.fc-ltr .fc-basic-view .fc-day-number {
  text-align: right; }

.fc-rtl .fc-basic-view .fc-day-number {
  text-align: left; }

/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 2px;
  font-size: .85em;
  cursor: pointer;
  text-decoration: none; }

a.fc-more:hover {
  text-decoration: underline; }

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none; }

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */ }

.fc-more-popover {
  z-index: 2;
  width: 220px; }

.fc-more-popover .fc-event-container {
  padding: 10px; }

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */ }

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */ }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap; }

.fc-ltr .fc-axis {
  text-align: right; }

.fc-rtl .fc-axis {
  text-align: left; }

.ui-widget td.fc-axis {
  font-weight: normal;
  /* overcome jqui theme making it bold */ }

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid {
  position: relative;
  /* so slats/bg/content/etc positions get scoped within here */
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */ }

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent; }

.fc-time-grid > .fc-bg {
  z-index: 1; }

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-highlight-skeleton {
  z-index: 3; }

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  right: 0; }

.fc-time-grid > .fc-helper-skeleton {
  z-index: 5; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */ }

.fc-slats .fc-minor td {
  border-top-style: dotted; }

.fc-slats .ui-widget-content {
  /* for jqui theme */
  background: none;
  /* see through to fc-bg */ }

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */ }

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */ }

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-event-container {
  /* a div within a cell within the fc-content-skeleton */
  position: relative; }

.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px; }

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%; }

.fc-time-grid .fc-event {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */ }

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.fc-time-grid-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.fc-time-grid-event {
  overflow: hidden;
  /* don't let the bg flow over rounded corners */ }

.fc-time-grid-event > .fc-content {
  /* contains the time and title, but no bg and resizer */
  position: relative;
  z-index: 2;
  /* above the bg */ }

.fc-time-grid-event .fc-time {
  font-size: .85em;
  white-space: nowrap; }

.fc-time-grid-event .fc-bg {
  z-index: 1;
  background: #fff;
  opacity: .25;
  filter: alpha(opacity=25);
  /* for IE */ }

/* resizer */
.fc-time-grid-event .fc-resizer {
  position: absolute;
  z-index: 3;
  /* above content */
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize; }

.fc-time-grid-event .fc-resizer:after {
  content: "="; }

/*
    Common
*/
.wizard,
.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 28px; }

.wizard a,
.tabcontrol a {
  outline: 0; }

.wizard ul,
.tabcontrol ul {
  list-style: none !important;
  padding: 0;
  margin: 0; }

.wizard ul > li,
.tabcontrol ul > li {
  display: block;
  padding: 0; }

/* Accessibility */
.wizard > .steps .current-info,
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em; }

.wizard > .content > .title,
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em; }

/*
    Wizard
*/
.wizard > .steps {
  position: relative;
  display: block;
  width: 100%; }

.wizard.vertical > .steps {
  display: inline;
  float: left;
  width: 30%; }

.wizard > .steps .number {
  font-size: 1.429em; }

.wizard > .steps > ul > li {
  width: 25%; }

.wizard > .steps > ul > li,
.wizard > .actions > ul > li {
  float: left;
  margin-bottom: 28px; }

.wizard.vertical > .steps > ul > li {
  float: none;
  width: 100%; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  display: block;
  width: auto;
  margin-right: 10px;
  padding: 1em 1em;
  text-decoration: none;
  border-radius: 5px; }

.wizard > .steps a {
  border: none; }

.wizard > .actions a {
  border: none; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  background: #eee;
  color: #aaa;
  cursor: default;
  border: none; }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background: #2184be;
  color: #fff;
  cursor: default; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  background: #9dc8e2;
  color: #fff; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  background: #ff3111;
  color: #fff; }

.wizard > .content {
  display: block;
  overflow: hidden;
  position: relative;
  width: auto;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  background: #f8f8f8; }

.wizard.vertical > .content {
  display: inline;
  float: left;
  margin: 0 2.5% 0.5em 2.5%;
  width: 65%; }

.wizard > .content > .body {
  position: relative;
  padding: 28px; }

.wizard > .content > .body ul {
  list-style: disc !important; }

.wizard > .content > .body ul > li {
  display: list-item; }

.wizard > .content > .body > iframe {
  border: 0 none;
  width: 100%;
  height: 100%; }

.wizard > .content > .body input.error,
.wizard > .content > .body textarea.error {
  background: #fbe3e4;
  border-color: #fbc2c4;
  color: #8a1f11; }

.wizard > .content > .body label.error {
  color: #8a1f11; }

input[type='checkbox'] ~ label.error, input[type='radio'] ~ label.error {
  padding: 0;
  display: block; }

.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%;
  margin-top: 28px; }

.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%; }

.wizard > .actions > ul {
  display: inline-block;
  text-align: right; }

.wizard > .actions > ul > li {
  margin: 0 0.5em; }

.wizard.vertical > .actions > ul > li {
  margin: 0 0 0 1em; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  background: #2184be;
  color: #fff;
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  border-radius: 5px; }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  background: #eee;
  color: #aaa; }

/*
    Tabcontrol
*/
.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%; }

.tabcontrol > .steps > ul {
  position: relative;
  margin: 6px 0 0 0;
  top: 1px;
  z-index: 1; }

.tabcontrol > .steps > ul > li {
  float: left;
  margin: 5px 2px 0 0;
  padding: 1px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px; }

.tabcontrol > .steps > ul > li:hover {
  background: #edecec;
  border: 1px solid #bbb;
  padding: 0; }

.tabcontrol > .steps > ul > li.current {
  background: #fff;
  border: 1px solid #bbb;
  border-bottom: 0 none;
  padding: 0 0 1px 0;
  margin-top: 0; }

.tabcontrol > .steps > ul > li > a {
  color: #5f5f5f;
  display: inline-block;
  border: 0 none;
  margin: 0;
  padding: 10px 30px;
  text-decoration: none; }

.tabcontrol > .steps > ul > li > a:hover {
  text-decoration: none; }

.tabcontrol > .steps > ul > li.current > a {
  padding: 15px 30px 10px 30px; }

.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 35em;
  overflow: hidden;
  border-top: 1px solid #bbb;
  padding-top: 20px; }

.tabcontrol > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%; }

.tabcontrol > .content > .body ul {
  list-style: disc !important; }

.tabcontrol > .content > .body ul > li {
  display: list-item; }

.wizard > .actions a[href='#finish'], .wizard > .actions a[href='#finish']:hover, .wizard > .actions a[href='#finish']:active {
  background: #2EB398 !important; }

/*
 * blueimp Gallery Indicator CSS 1.1.0
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */
.blueimp-gallery > .indicator {
  position: absolute;
  top: auto;
  right: 15px;
  bottom: 15px;
  left: 15px;
  margin: 0 40px;
  padding: 0;
  list-style: none;
  text-align: center;
  line-height: 10px;
  display: none; }

.blueimp-gallery > .indicator > li {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 6px 3px 0 3px;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  border: 1px solid transparent;
  background: #ccc;
  background: rgba(255, 255, 255, 0.25) center no-repeat;
  border-radius: 5px;
  box-shadow: 0 0 2px #000;
  opacity: 0.5;
  cursor: pointer; }

.blueimp-gallery > .indicator > li:hover,
.blueimp-gallery > .indicator > .active {
  background-color: #fff;
  border-color: #fff;
  opacity: 1; }

.blueimp-gallery-controls > .indicator {
  display: block;
  /* Fix z-index issues (controls behind slide element) on Android: */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0); }

.blueimp-gallery-single > .indicator {
  display: none; }

.blueimp-gallery > .indicator {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* IE7 fixes */
* + html .blueimp-gallery > .indicator > li {
  display: inline; }

/*
 * blueimp Gallery Video Factory CSS 1.3.0
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */
.blueimp-gallery > .slides > .slide > .video-content > img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  /* Prevent artifacts in Mozilla Firefox: */
  -moz-backface-visibility: hidden; }

.blueimp-gallery > .slides > .slide > .video-content > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.blueimp-gallery > .slides > .slide > .video-content > iframe {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  border: none; }

.blueimp-gallery > .slides > .slide > .video-playing > iframe {
  top: 0; }

.blueimp-gallery > .slides > .slide > .video-content > a {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin: -64px auto 0;
  width: 128px;
  height: 128px;
  background: url("/imgs/common/blueimp-gallery/video-play.png") center no-repeat;
  opacity: 0.8;
  cursor: pointer; }

.blueimp-gallery > .slides > .slide > .video-content > a:hover {
  opacity: 1; }

.blueimp-gallery > .slides > .slide > .video-playing > a,
.blueimp-gallery > .slides > .slide > .video-playing > img {
  display: none; }

.blueimp-gallery > .slides > .slide > .video-content > video {
  display: none; }

.blueimp-gallery > .slides > .slide > .video-playing > video {
  display: block; }

.blueimp-gallery > .slides > .slide > .video-loading > a {
  background: url("/imgs/common/blueimp-gallery/loading.gif") center no-repeat;
  background-size: 64px 64px; }

/* Replace PNGs with SVGs for capable browsers (excluding IE<9) */
body:last-child .blueimp-gallery > .slides > .slide > .video-content:not(.video-loading) > a {
  background-image: url("/imgs/common/blueimp-gallery/video-play.svg"); }

/* IE7 fixes */
* + html .blueimp-gallery > .slides > .slide > .video-content {
  height: 100%; }

* + html .blueimp-gallery > .slides > .slide > .video-content > a {
  left: 50%;
  margin-left: -64px; }

/*
 * blueimp Gallery CSS 2.11.1
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */
.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* Prevent artifacts in Mozilla Firefox: */
  -moz-backface-visibility: hidden; }

.blueimp-gallery > .slides > .slide > .slide-content {
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  opacity: 1; }

.blueimp-gallery {
  position: fixed;
  z-index: 9999999999;
  overflow: hidden;
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  display: none;
  direction: ltr;
  -ms-touch-action: none;
  touch-action: none; }

.blueimp-gallery-carousel {
  position: relative;
  z-index: auto;
  margin: 1em auto;
  /* Set the carousel width/height ratio to 16/9: */
  padding-bottom: 56.25%;
  box-shadow: 0 0 10px #000;
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.blueimp-gallery-display {
  display: block;
  opacity: 1; }

.blueimp-gallery > .slides {
  position: relative;
  height: 100%;
  overflow: hidden; }

.blueimp-gallery-carousel > .slides {
  position: absolute; }

.blueimp-gallery > .slides > .slide {
  position: relative;
  float: left;
  height: 100%;
  text-align: center;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  -webkit-transition: opacity 0.5s linear;
  -moz-transition: opacity 0.5s linear;
  -ms-transition: opacity 0.5s linear;
  -o-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear; }

.blueimp-gallery > .slides > .slide-loading {
  background: url("/imgs/common/blueimp-gallery/loading.gif") center no-repeat;
  background-size: 64px 64px; }

.blueimp-gallery > .slides > .slide-loading > .slide-content {
  opacity: 0; }

.blueimp-gallery > .slides > .slide-error {
  background: url("/imgs/common/blueimp-gallery/error.png") center no-repeat; }

.blueimp-gallery > .slides > .slide-error > .slide-content {
  display: none; }

.blueimp-gallery > .prev,
.blueimp-gallery > .next {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -23px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 2px #000;
  text-align: center;
  background: #222;
  background: rgba(0, 0, 0, 0.5);
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  border: 3px solid #fff;
  -webkit-border-radius: 23px;
  -moz-border-radius: 23px;
  border-radius: 23px;
  opacity: 0.5;
  cursor: pointer;
  display: none; }

.blueimp-gallery > .next {
  left: auto;
  right: 15px; }

.blueimp-gallery > .close,
.blueimp-gallery > .title {
  position: absolute;
  top: 15px;
  left: 15px;
  margin: 0 40px 0 0;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
  text-shadow: 0 0 2px #000;
  opacity: 0.8;
  display: none; }

.blueimp-gallery > .close {
  padding: 15px !important;
  right: 15px;
  left: auto;
  margin: -15px;
  font-size: 30px;
  text-decoration: none;
  cursor: pointer;
  border: none; }

.blueimp-gallery > .play-pause {
  border: none;
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 15px;
  height: 15px;
  background: url("/imgs/common/blueimp-gallery/play-pause.png") 0 0 no-repeat;
  cursor: pointer;
  opacity: 0.5;
  display: none; }

.blueimp-gallery-playing > .play-pause {
  background-position: -15px 0; }

.blueimp-gallery > .prev:hover,
.blueimp-gallery > .next:hover,
.blueimp-gallery > .close:hover,
.blueimp-gallery > .title:hover,
.blueimp-gallery > .play-pause:hover {
  color: #fff;
  opacity: 1;
  padding: 0; }

.blueimp-gallery-controls > .prev,
.blueimp-gallery-controls > .next,
.blueimp-gallery-controls > .close,
.blueimp-gallery-controls > .title,
.blueimp-gallery-controls > .play-pause {
  display: block;
  /* Fix z-index issues (controls behind slide element) on Android: */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0); }

.blueimp-gallery-single > .prev,
.blueimp-gallery-left > .prev,
.blueimp-gallery-single > .next,
.blueimp-gallery-right > .next,
.blueimp-gallery-single > .play-pause {
  display: none; }

.blueimp-gallery > .slides > .slide > .slide-content,
.blueimp-gallery > .prev,
.blueimp-gallery > .next,
.blueimp-gallery > .close,
.blueimp-gallery > .play-pause {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* Replace PNGs with SVGs for capable browsers (excluding IE<9) */
body:last-child .blueimp-gallery > .slides > .slide-error {
  background-image: url("/imgs/common/blueimp-gallery/error.svg"); }

body:last-child .blueimp-gallery > .play-pause {
  width: 20px;
  height: 20px;
  background-size: 40px 20px;
  background-image: url("/imgs/common/blueimp-gallery/play-pause.svg"); }

body:last-child .blueimp-gallery-playing > .play-pause {
  background-position: -20px 0; }

/* IE7 fixes */
* + html .blueimp-gallery > .slides > .slide {
  min-height: 300px; }

* + html .blueimp-gallery > .slides > .slide > .slide-content {
  position: relative; }

/*! =======================================================
                      VERSION  6.0.4
========================================================= */
/*! =========================================================
 * bootstrap-slider.js
 *
 * Maintainers:
 *    Kyle Kemp
 *      - Twitter: @seiyria
 *      - Github:  seiyria
 *    Rohit Kalkur
 *      - Twitter: @Rovolutionary
 *      - Github:  rovolution
 *
 * =========================================================
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================= */
.slider {
  display: inline-block;
  vertical-align: middle;
  position: relative; }

.slider.slider-horizontal {
  width: 210px;
  height: 20px; }

.slider.slider-horizontal .slider-track {
  height: 10px;
  width: 100%;
  margin-top: -5px;
  top: 50%;
  left: 0; }

.slider.slider-horizontal .slider-selection,
.slider.slider-horizontal .slider-track-low,
.slider.slider-horizontal .slider-track-high {
  height: 100%;
  top: 0;
  bottom: 0; }

.slider.slider-horizontal .slider-tick,
.slider.slider-horizontal .slider-handle {
  margin-left: -10px;
  margin-top: 0px; }

.slider.slider-horizontal .slider-tick.triangle,
.slider.slider-horizontal .slider-handle.triangle {
  border-width: 0 10px 10px 10px;
  width: 0;
  height: 0;
  border-bottom-color: #0480be;
  margin-top: 5px; }

.slider.slider-horizontal .slider-tick-label-container {
  white-space: nowrap;
  margin-top: 20px; }

.slider.slider-horizontal .slider-tick-label-container .slider-tick-label {
  padding-top: 4px;
  display: inline-block;
  text-align: center; }

.slider.slider-vertical {
  height: 210px;
  width: 20px; }

.slider.slider-vertical .slider-track {
  width: 10px;
  height: 100%;
  margin-left: -5px;
  left: 50%;
  top: 0; }

.slider.slider-vertical .slider-selection {
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0; }

.slider.slider-vertical .slider-track-low,
.slider.slider-vertical .slider-track-high {
  width: 100%;
  left: 0;
  right: 0; }

.slider.slider-vertical .slider-tick,
.slider.slider-vertical .slider-handle {
  margin-left: 0px;
  margin-top: -10px; }

.slider.slider-vertical .slider-tick.triangle,
.slider.slider-vertical .slider-handle.triangle {
  border-width: 10px 0 10px 10px;
  width: 1px;
  height: 1px;
  border-left-color: #0480be;
  margin-left: 0; }

.slider.slider-vertical .slider-tick-label-container {
  white-space: nowrap; }

.slider.slider-vertical .slider-tick-label-container .slider-tick-label {
  padding-left: 4px; }

.slider.slider-disabled .slider-handle {
  background-image: linear-gradient(to bottom, #dfdfdf 0%, #bebebe 100%);
  background-repeat: repeat-x; }

.slider.slider-disabled .slider-track {
  background-image: linear-gradient(to bottom, #e5e5e5 0%, #e9e9e9 100%);
  background-repeat: repeat-x;
  cursor: not-allowed; }

.slider input {
  display: none; }

.slider .tooltip.top {
  margin-top: -36px; }

.slider .tooltip-inner {
  white-space: nowrap; }

.slider .hide {
  display: none; }

.slider-track {
  position: absolute;
  cursor: pointer;
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
  background-image: -o-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
  background-image: linear-gradient(to bottom, #f5f5f5 0%, #f9f9f9 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 4px; }

.slider-selection {
  position: absolute;
  background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 4px; }

.slider-selection.tick-slider-selection {
  background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
  background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
  background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0); }

.slider-track-low,
.slider-track-high {
  position: absolute;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 4px; }

.slider-handle {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #337ab7;
  background-image: -webkit-linear-gradient(top, #149bdf 0%, #0480be 100%);
  background-image: -o-linear-gradient(top, #149bdf 0%, #0480be 100%);
  background-image: linear-gradient(to bottom, #149bdf 0%, #0480be 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
  filter: none;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  border: 0px solid transparent; }

.slider-handle.round {
  border-radius: 50%; }

.slider-handle.triangle {
  background: transparent none; }

.slider-handle.custom {
  background: transparent none; }

.slider-handle.custom::before {
  line-height: 20px;
  font-size: 20px;
  content: '\2605';
  color: #726204; }

.slider-tick {
  position: absolute;
  width: 20px;
  height: 20px;
  background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  filter: none;
  opacity: 0.8;
  border: 0px solid transparent; }

.slider-tick.round {
  border-radius: 50%; }

.slider-tick.triangle {
  background: transparent none; }

.slider-tick.custom {
  background: transparent none; }

.slider-tick.custom::before {
  line-height: 20px;
  font-size: 20px;
  content: '\2605';
  color: #726204; }

.slider-tick.in-selection {
  background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
  background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
  background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0);
  opacity: 1; }

@media print {
  /*!
   * FullCalendar v2.1.0-beta2 Print Stylesheet
   * Docs & License: http://arshaw.com/fullcalendar/
   * (c) 2013 Adam Shaw
   */
  /*
   * Include this stylesheet on your page to get a more printer-friendly calendar.
   * When including this stylesheet, use the media='print' attribute of the <link> tag.
   * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
   */
  .fc {
    max-width: 100% !important; }
  /* Global Event Restyling
  --------------------------------------------------------------------------------------------------*/
  .fc-event {
    background: #fff !important;
    color: #000 !important;
    page-break-inside: avoid; }
  .fc-event .fc-resizer {
    display: none; }
  /* Table & Day-Row Restyling
  --------------------------------------------------------------------------------------------------*/
  th,
  td,
  hr,
  thead,
  tbody,
  .fc-row {
    border-color: #ccc !important;
    background: #fff !important; }
  /* kill the overlaid, absolutely-positioned common components */
  .fc-bg,
  .fc-highlight-skeleton,
  .fc-helper-skeleton {
    display: none; }
  /* don't force a min-height on rows (for DayGrid) */
  .fc tbody .fc-row {
    height: auto !important;
    /* undo height that JS set in distributeHeight */
    min-height: 0 !important;
    /* undo the min-height from each view's specific stylesheet */ }
  .fc tbody .fc-row .fc-content-skeleton {
    position: static;
    /* undo .fc-rigid */
    /* don't have chunky padding underneath events (for Agenda, basicWeek, basicDay) */
    padding-bottom: 0 !important; }
  /* give back the bottom spacing that was taken away from the content-skeleton's padding (above) */
  /* only works on modern browsers */
  .fc tbody .fc-row .fc-content-skeleton table tr:last-child td {
    padding-bottom: 1px; }
  /* sets a min-height on the event skeleton. for IE8. was overexaggerating this, so make small */
  .fc tbody .fc-row .fc-content-skeleton table {
    height: 2em; }
  /* sets a min-height on the event skeleton. for modern browsers (not IE8) */
  .fc tbody .fc-row .fc-content-skeleton table:last-child {
    height: 4em; }
  /* Undo month-view event limiting. Display all events and hide the "more" links
  --------------------------------------------------------------------------------------------------*/
  .fc-more-cell,
  .fc-more {
    display: none !important; }
  .fc tr.fc-limited {
    display: table-row !important; }
  .fc td.fc-limited {
    display: table-cell !important; }
  /* TimeGrid Restyling
  --------------------------------------------------------------------------------------------------*/
  /* undo the min-height 100% trick used to fill the container's height */
  .fc-time-grid {
    min-height: 0 !important; }
  /* don't display the side axis at all ("all-day" and time cells) */
  .fc-agenda-view .fc-axis {
    display: none; }
  /* don't display the horizontal lines */
  .fc-slats,
  .fc-time-grid hr {
    /* this hr is used when height is underused and needs to be filled */
    display: none !important;
    /* important overrides inline declaration */ }
  /* let the container that holds the events be naturally positioned and create real height */
  .fc-time-grid .fc-content-skeleton {
    position: static; }
  /* in case there are no events, we still want some height */
  .fc-time-grid .fc-content-skeleton table {
    height: 4em; }
  /* kill the horizontal spacing made by the event container. event margins will be done below */
  .fc-time-grid .fc-event-container {
    margin: 0 !important; }
  /* TimeGrid *Event* Restyling
  --------------------------------------------------------------------------------------------------*/
  /* naturally position events, vertically stacking them */
  .fc-time-grid .fc-event {
    position: static !important;
    margin: 3px 2px !important; }
  /* for events that continue to a future day, give the bottom border back */
  .fc-time-grid .fc-event.fc-not-end {
    border-bottom-width: 1px !important; }
  /* indicate the event continues via "..." text */
  .fc-time-grid .fc-event.fc-not-end:after {
    content: "..."; }
  /* for events that are continuations from previous days, give the top border back */
  .fc-time-grid .fc-event.fc-not-start {
    border-top-width: 1px !important; }
  /* indicate the event is a continuation via "..." text */
  .fc-time-grid .fc-event.fc-not-start:before {
    content: "..."; }
  /* time */
  /* undo a previous declaration and let the time text span to a second line */
  .fc-time-grid .fc-event .fc-time {
    white-space: normal !important; }
  /* hide the the time that is normally displayed... */
  .fc-time-grid .fc-event .fc-time span {
    display: none; }
  /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
  .fc-time-grid .fc-event .fc-time:after {
    content: attr(data-full); }
  /* Vertical Scroller & Containers
  --------------------------------------------------------------------------------------------------*/
  /* kill the scrollbars and allow natural height */
  .fc-scroller,
  .fc-day-grid-container,
  .fc-time-grid-container {
    /* */
    overflow: visible !important;
    height: auto !important; }
  /* kill the horizontal border/padding used to compensate for scrollbars */
  .fc-row {
    border: 0 !important;
    margin: 0 !important; }
  /* Button Controls
  --------------------------------------------------------------------------------------------------*/
  .fc-button-group,
  .fc button {
    display: none;
    /* don't display any button-related controls */ } }

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
  cursor: default !important; }

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
  display: none !important; }

table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
  position: relative;
  padding-left: 30px;
  cursor: pointer; }

table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
  top: 8px;
  left: 4px;
  height: 16px;
  width: 16px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  text-align: left;
  font-family: 'Courier New', Courier, monospace;
  text-indent: 4px;
  line-height: 16px;
  content: '+';
  background-color: #31b131; }

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
  content: '-';
  background-color: #d33333; }

table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
  display: none; }

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
  padding-left: 27px; }

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
  top: 5px;
  left: 4px;
  height: 14px;
  width: 14px;
  border-radius: 14px;
  line-height: 14px;
  text-indent: 3px; }

table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control {
  position: relative;
  cursor: pointer; }

table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
  top: 50%;
  left: 50%;
  height: 16px;
  width: 16px;
  margin-top: -10px;
  margin-left: -10px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  text-align: left;
  font-family: 'Courier New', Courier, monospace;
  text-indent: 4px;
  line-height: 16px;
  content: '+';
  background-color: #31b131; }

table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
  content: '-';
  background-color: #d33333; }

table.dataTable > tbody > tr.child {
  padding: 0.5em 1em; }

table.dataTable > tbody > tr.child:hover {
  background: transparent !important; }

table.dataTable > tbody > tr.child ul {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0; }

table.dataTable > tbody > tr.child ul li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0; }

table.dataTable > tbody > tr.child ul li:first-child {
  padding-top: 0; }

table.dataTable > tbody > tr.child ul li:last-child {
  border-bottom: none; }

table.dataTable > tbody > tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold; }

div.dtr-modal {
  position: fixed;
  box-sizing: border-box;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
  padding: 10em 1em; }

div.dtr-modal div.dtr-modal-display {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 50%;
  overflow: auto;
  margin: auto;
  z-index: 102;
  overflow: auto;
  background-color: #f5f5f7;
  border: 1px solid black;
  border-radius: 0.5em;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6); }

div.dtr-modal div.dtr-modal-content {
  position: relative;
  padding: 1em; }

div.dtr-modal div.dtr-modal-close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border: 1px solid #eaeaea;
  background-color: #f9f9f9;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
  z-index: 12; }

div.dtr-modal div.dtr-modal-close:hover {
  background-color: #eaeaea; }

div.dtr-modal div.dtr-modal-background {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background: rgba(0, 0, 0, 0.6); }

@media screen and (max-width: 767px) {
  div.dtr-modal div.dtr-modal-display {
    width: 95%; } }

/*!
 * Datetimepicker for Bootstrap 3
 * ! version : 4.7.14
 * https://github.com/Eonasdan/bootstrap-datetimepicker/
 */
.bootstrap-datetimepicker-widget {
  list-style: none; }
  .bootstrap-datetimepicker-widget.dropdown-menu {
    margin: 2px 0;
    padding: 4px;
    width: 19em; }
    @media (min-width: 990px) {
      .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
        width: 38em; } }
    @media (min-width: 1152px) {
      .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
        width: 38em; } }
    @media (min-width: 1366px) {
      .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
        width: 38em; } }
    .bootstrap-datetimepicker-widget.dropdown-menu:before, .bootstrap-datetimepicker-widget.dropdown-menu:after {
      content: '';
      display: inline-block;
      position: absolute; }
    .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-bottom: 7px solid #ccc;
      border-bottom-color: rgba(0, 0, 0, 0.2);
      top: -7px;
      left: 7px; }
    .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-bottom: 6px solid white;
      top: -6px;
      left: 8px; }
    .bootstrap-datetimepicker-widget.dropdown-menu.top:before {
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-top: 7px solid #ccc;
      border-top-color: rgba(0, 0, 0, 0.2);
      bottom: -7px;
      left: 6px; }
    .bootstrap-datetimepicker-widget.dropdown-menu.top:after {
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-top: 6px solid white;
      bottom: -6px;
      left: 7px; }
    .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
      left: auto;
      right: 6px; }
    .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
      left: auto;
      right: 7px; }
  .bootstrap-datetimepicker-widget .list-unstyled {
    margin: 0; }
  .bootstrap-datetimepicker-widget a[data-action] {
    padding: 6px 0; }
  .bootstrap-datetimepicker-widget a[data-action]:active {
    box-shadow: none; }
  .bootstrap-datetimepicker-widget .timepicker-hour, .bootstrap-datetimepicker-widget .timepicker-minute, .bootstrap-datetimepicker-widget .timepicker-second {
    width: 54px;
    font-weight: bold;
    font-size: 1.2em;
    margin: 0; }
  .bootstrap-datetimepicker-widget button[data-action] {
    padding: 6px;
    height: 36px; }
  .bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
    content: "Increment Hours"; }
  .bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
    content: "Increment Minutes"; }
  .bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
    content: "Decrement Hours"; }
  .bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
    content: "Decrement Minutes"; }
  .bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
    content: "Show Hours"; }
  .bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
    content: "Show Minutes"; }
  .bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
    content: "Toggle AM/PM"; }
  .bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
    content: "Clear the picker"; }
  .bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
    content: "Set the date to today"; }
  .bootstrap-datetimepicker-widget .picker-switch {
    text-align: center; }
    .bootstrap-datetimepicker-widget .picker-switch::after {
      content: "Toggle Date and Time Screens"; }
    .bootstrap-datetimepicker-widget .picker-switch td {
      padding: 0;
      margin: 0;
      height: auto;
      width: auto;
      line-height: inherit; }
      .bootstrap-datetimepicker-widget .picker-switch td span {
        line-height: 2.5;
        height: 2.5em;
        width: 100%; }
  .bootstrap-datetimepicker-widget table {
    width: 100%;
    margin: 0; }
    .bootstrap-datetimepicker-widget table td,
    .bootstrap-datetimepicker-widget table th {
      text-align: center;
      border-radius: 4px; }
    .bootstrap-datetimepicker-widget table th {
      height: 20px;
      line-height: 20px;
      width: 20px; }
      .bootstrap-datetimepicker-widget table th.picker-switch {
        width: 145px; }
      .bootstrap-datetimepicker-widget table th.disabled, .bootstrap-datetimepicker-widget table th.disabled:hover {
        background: none;
        color: #777777;
        cursor: not-allowed; }
      .bootstrap-datetimepicker-widget table th.prev::after {
        content: "Previous Month"; }
      .bootstrap-datetimepicker-widget table th.next::after {
        content: "Next Month"; }
    .bootstrap-datetimepicker-widget table thead tr:first-child th {
      cursor: pointer; }
      .bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
        background: #eeeeee; }
    .bootstrap-datetimepicker-widget table td {
      height: 54px;
      line-height: 54px;
      width: 54px; }
      .bootstrap-datetimepicker-widget table td.cw {
        font-size: .8em;
        height: 20px;
        line-height: 20px;
        color: #777777; }
      .bootstrap-datetimepicker-widget table td.day {
        height: 20px;
        line-height: 20px;
        width: 20px; }
      .bootstrap-datetimepicker-widget table td.day:hover, .bootstrap-datetimepicker-widget table td.hour:hover, .bootstrap-datetimepicker-widget table td.minute:hover, .bootstrap-datetimepicker-widget table td.second:hover {
        background: #eeeeee;
        cursor: pointer; }
      .bootstrap-datetimepicker-widget table td.old, .bootstrap-datetimepicker-widget table td.new {
        color: #777777; }
      .bootstrap-datetimepicker-widget table td.today {
        position: relative; }
        .bootstrap-datetimepicker-widget table td.today:before {
          content: '';
          display: inline-block;
          border: 0 0 7px 7px solid transparent;
          border-bottom-color: #428bca;
          border-top-color: rgba(0, 0, 0, 0.2);
          position: absolute;
          bottom: 4px;
          right: 4px; }
      .bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover {
        background-color: #428bca;
        color: #428bca;
        text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
      .bootstrap-datetimepicker-widget table td.active.today:before {
        border-bottom-color: #fff; }
      .bootstrap-datetimepicker-widget table td.disabled, .bootstrap-datetimepicker-widget table td.disabled:hover {
        background: none;
        color: #777777;
        cursor: not-allowed; }
      .bootstrap-datetimepicker-widget table td span {
        display: inline-block;
        width: 54px;
        height: 54px;
        line-height: 54px;
        margin: 2px 1.5px;
        cursor: pointer;
        border-radius: 4px; }
        .bootstrap-datetimepicker-widget table td span:hover {
          background: #eeeeee; }
        .bootstrap-datetimepicker-widget table td span.active {
          background-color: #428bca;
          color: #428bca;
          text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
        .bootstrap-datetimepicker-widget table td span.old {
          color: #777777; }
        .bootstrap-datetimepicker-widget table td span.disabled, .bootstrap-datetimepicker-widget table td span.disabled:hover {
          background: none;
          color: #777777;
          cursor: not-allowed; }
  .bootstrap-datetimepicker-widget.usetwentyfour td.hour {
    height: 27px;
    line-height: 27px; }

.input-group.date .input-group-addon {
  cursor: pointer; }

/* ADD/REMOVE/CHANGE THEMES HERE */
/* GLOBAL SETTINGS */
html {
  letter-spacing: 0.5px;
  overflow-y: scroll !important; }

a {
  color: #2EB398; }
  a:hover, a:focus {
    color: #248a76; }

.rubix-panel-container {
  background: #ffffff; }
  .rubix-panel-container.bordered {
    border: 1px solid rgba(206, 219, 236, 0.75);
    box-shadow: 0px 2px 0px 0px rgba(206, 219, 236, 0.5); }
  .rubix-panel-container.noOverflow {
    overflow: visible; }

.rubix-panel-controls {
  color: #011424; }

html.default .form-control {
  border-color: #ddd; }
  html.default .form-control:focus {
    box-shadow: none !important;
    border-color: #2EB398; }

html.default .dropdown-menu .active > a {
  background-color: #E76049; }
  html.default .dropdown-menu .active > a:hover, html.default .dropdown-menu .active > a:focus {
    background-color: #E76049; }

html.default .select2-container-multi .select2-choices {
  border-radius: 0;
  height: 28px; }

html.default .select2-container .select2-choice, html.default .select2-container-multi .select2-choices {
  border-width: 2px; }

html.default .select2-container .select2-choice .select2-arrow {
  color: white;
  border-radius: 0; }

html.default .select2-drop-active, html.default .select2-drop.select2-drop-above.select2-drop-active, html.default .select2-container-active .select2-choice, html.default .select2-container-active .select2-choices, html.default .select2-dropdown-open.select2-drop-above .select2-choice, html.default .select2-dropdown-open.select2-drop-above .select2-choices, html.default .select2-container-multi.select2-container-active .select2-choices, html.default .form-control.select2-container.select2-dropdown-open {
  border-width: 2px; }

html.default .pagination {
  margin: 0 0 28px; }
  html.default .pagination .disabled > a {
    color: #ccc; }

html.default .pagination > .active > a, html.default .pagination > .active > a:hover, html.default .pagination > .active > a:focus, html.default .pagination > .active > span, html.default .pagination > .active > span:hover, html.default .pagination > .active > span:focus {
  color: white;
  background: #E76049;
  border-color: #E76049; }

html.default .pagination > li > a, html.default .pagination > li > span {
  color: inherit; }

html.default .rubix-panel .pagination > li > a {
  border: 1px solid #ddd; }

html.default .datepicker table tr td.active,
html.default .datepicker table tr td.active:hover,
html.default .datepicker table tr td.active.disabled,
html.default .datepicker table tr td.active.disabled:hover,
html.default .datepicker table tr td span.active,
html.default .datepicker table tr td span.active:hover,
html.default .datepicker table tr td span.active.disabled,
html.default .datepicker table tr td span.active.disabled:hover {
  background: #E76049 !important; }

html.default .breadcrumb > li > a {
  color: #E76049; }
  html.default .breadcrumb > li > a:hover, html.default .breadcrumb > li > a:focus {
    color: #c9341b; }

html.default .btn-theme {
  background: #E76049;
  color: white;
  border-color: #E76049; }
  html.default .btn-theme.btn-outlined {
    color: #E76049;
    background: none; }
    html.default .btn-theme.btn-outlined.btn-onlyOnHover {
      color: #011424; }
      html.default .btn-theme.btn-outlined.btn-onlyOnHover:hover, html.default .btn-theme.btn-outlined.btn-onlyOnHover:focus, html.default .btn-theme.btn-outlined.btn-onlyOnHover.active {
        color: white; }
    html.default .btn-theme.btn-outlined.btn-inverse {
      color: white;
      border-color: white; }
      html.default .btn-theme.btn-outlined.btn-inverse:hover, html.default .btn-theme.btn-outlined.btn-inverse:focus, html.default .btn-theme.btn-outlined.btn-inverse.active {
        color: #E76049;
        background: white; }
        html.default .btn-theme.btn-outlined.btn-inverse:hover.btn-retainBg, html.default .btn-theme.btn-outlined.btn-inverse:focus.btn-retainBg, html.default .btn-theme.btn-outlined.btn-inverse.active.btn-retainBg {
          background: #E76049;
          color: white;
          border-color: #E76049; }
          html.default .btn-theme.btn-outlined.btn-inverse:hover.btn-retainBg:active, html.default .btn-theme.btn-outlined.btn-inverse:focus.btn-retainBg:active, html.default .btn-theme.btn-outlined.btn-inverse.active.btn-retainBg:active {
            background: #bb3019;
            border-color: #852212; }
  html.default .btn-theme:focus, html.default .btn-theme.focus, html.default .btn-theme:hover, html.default .btn-theme.active {
    color: white;
    background: #ed8776;
    border-color: #ed8776; }
  html.default .btn-theme:active, html.default .btn-theme.active, html.default .btn-theme[aria-expanded="true"], html.default .btn-theme.active:hover, html.default .btn-theme.active:focus, html.default .btn-theme[aria-expanded="true"]:hover, html.default .btn-theme[aria-expanded="true"]:focus,
  .open > html.default .btn-theme.dropdown-toggle {
    color: white;
    background: #bb3019;
    border-color: #852212;
    background-image: none; }
  html.default .btn-theme.dropdown-toggle + ul li.active a {
    color: white;
    background: #E76049; }
  html.default .btn-theme.disabled, html.default .btn-theme[disabled],
  fieldset[disabled] html.default .btn-theme {
    pointer-events: none; }
  html.default .btn-theme .badge {
    color: #E76049;
    background-color: #E76049; }

html.default .menu-theme ul li.active a, html.default .menu-theme ul li.active a:hover {
  color: white;
  background: #E76049 !important; }

html.default .nav-theme > li.active > a,
html.default .nav-theme > rubix-menu > li.active > a,
html.default .nav-theme > rubix-nav-item > li.active > a {
  color: white;
  background: #E76049;
  border-color: #E76049; }

html.default .tab-theme {
  border-color: #E76049; }
  html.default .tab-theme > li.active > a {
    border-color: #E76049;
    border-bottom-color: transparent; }
  html.default .tab-theme.nav-pills > li.active > a {
    background: #E76049;
    color: white; }

html.default .rubix-panel-header.nav-inline .nav-theme > li.active > a {
  border: 1px solid #E76049;
  border-bottom: none; }

html.default .rubix-panel-header.nav-inline .nav-theme > li.open > .dropdown-toggle {
  color: white;
  background: none; }

html.default .bg-theme {
  background: #E76049 !important; }
  html.default .bg-theme table td, html.default .bg-theme th {
    border-color: rgba(0, 0, 0, 0.05) !important; }

html.default .bg-focus-theme:focus {
  background: #E76049 !important; }

html.default .bg-hover-theme:hover {
  background: #E76049 !important; }

html.default .fg-theme {
  color: #E76049; }
  html.default .fg-theme .nav-tabs > li.active > a {
    color: #E76049; }

html.default .fg-tab-active-theme .nav-tabs > li.active > a {
  color: #E76049 !important; }

html.default .fg-focus-theme:focus {
  color: #E76049; }

html.default .fg-hover-theme:hover {
  color: #E76049; }

html.default .border-theme {
  border-color: #E76049 !important; }
  html.default .border-theme .rubix-timeline-body > ul {
    border-color: #E76049; }
  html.default .border-theme.rubix-timeline-view:before {
    border-color: #E76049; }

html.default .border-hover-theme:hover {
  border-color: #E76049 !important; }

html.default .border-focus-theme:focus {
  border-color: #E76049 !important; }

html.default .tl-theme .rubix-timeline-body > ul > li:before {
  border-color: #E76049; }

html.default .list-bg-theme > .list-group-item.active {
  background: #E76049 !important;
  color: white !important; }

html.default .list-fg-theme > .list-group-item {
  color: #E76049; }

html.default {
  background: white;
  overflow-x: hidden;
  color: #011424; }
  html.default body {
    background: white;
    overflow-x: hidden;
    color: #011424; }
    html.default body #sidebar {
      z-index: 1000; }
    html.default body #app-container {
      overflow: hidden; }
    html.default body #container > div:first-child#navbar #rubix-nav-header {
      margin: 0; }
    html.default body #container > div:first-child#body {
      margin-top: 0;
      padding-top: 28px; }
    html.default body #container.container-open > #sidebar {
      left: 0; }
    html.default body #container.container-open #rubix-nav-header, html.default body #container.container-open > #body, html.default body #container.container-open > #footer-container {
      margin-left: 250px;
      margin-right: -250px; }
      @media (min-width: 990px) {
        html.default body #container.container-open #rubix-nav-header, html.default body #container.container-open > #body, html.default body #container.container-open > #footer-container {
          margin-right: 0; } }
    html.default body #container.force-close > #sidebar {
      left: -250px; }
    html.default body #container.force-close #rubix-nav-header {
      margin-left: 0;
      margin-right: 0; }
    html.default body #container.force-close > #body, html.default body #container.force-close > #footer-container {
      margin-left: 0;
      margin-right: 0; }
    html.default body #navbar {
      width: 100%; }
    html.default body #rubix-nav-header {
      border: none;
      margin-left: 0;
      display: block;
      height: 75px;
      transition: all 0.3s ease;
      background: #273135; }
      html.default body #rubix-nav-header .navbar-brand {
        width: 100%;
        text-align: center;
        color: #011424; }
        html.default body #rubix-nav-header .navbar-brand > img {
          top: -3px;
          margin: auto;
          position: relative; }
        @media (max-width: 320px) {
          html.default body #rubix-nav-header .navbar-brand > img {
            width: 80px;
            left: -10px; } }
      html.default body #rubix-nav-header .navbar-content {
        height: 75px; }
      html.default body #rubix-nav-header .navbar-right {
        margin-right: -25px; }
      html.default body #rubix-nav-header .navbar-nav {
        margin: 0;
        display: inline-block; }
        html.default body #rubix-nav-header .navbar-nav:first-child {
          margin-left: -25px; }
      html.default body #rubix-nav-header .navbar-nav > li > a {
        border: none;
        padding: 25px;
        display: block;
        line-height: 1; }
      html.default body #rubix-nav-header .navbar-nav > li > a > .rubix-icon {
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased; }
      html.default body #rubix-nav-header .navbar-nav > li.divider {
        height: 75px;
        border: 1px solid rgba(59, 70, 72, 0.45); }
      html.default body #rubix-nav-header .navbar-nav > li.dropdown.open > a {
        color: white;
        background: none; }
      html.default body #rubix-nav-header .navbar-nav > li.active > a, html.default body #rubix-nav-header .navbar-nav > li > a {
        height: 75px;
        font-size: 26px;
        background: none;
        text-align: center;
        color: #011424; }
        html.default body #rubix-nav-header .navbar-nav > li.active > a:hover, html.default body #rubix-nav-header .navbar-nav > li > a:hover {
          color: #ffffff; }
      html.default body #rubix-nav-header .navbar-nav > li.pressed > a {
        color: white; }
      html.default body #rubix-nav-header .navbar-nav > li.logout > a, html.default body #rubix-nav-header .navbar-nav > li.sidebar-btn > a {
        width: 80px;
        font-size: 30px;
        padding-left: 0;
        padding-right: 0; }
      html.default body #rubix-nav-header .navbar-nav > li.logout > a {
        color: #ffffff;
        background: #E76049; }
        html.default body #rubix-nav-header .navbar-nav > li.logout > a:hover {
          background: #F4654D; }
      html.default body #rubix-nav-header .navbar-nav > li.sidebar-btn > a {
        color: #ffffff;
        background: #2AA38B; }
        html.default body #rubix-nav-header .navbar-nav > li.sidebar-btn > a:hover {
          background: #2EB398; }
      html.default body #rubix-nav-header .navbar-nav > li.collapse-left > a {
        padding-left: 0; }
      html.default body #rubix-nav-header .navbar-nav > li.collapse-right > a {
        padding-right: 0; }
      html.default body #rubix-nav-header .navbar-nav > li.small-font > a {
        font-size: 20px; }
      html.default body #rubix-nav-header .navbar-nav > li .notification-badge {
        font-size: 10px;
        padding: 3px 5px;
        margin-left: -5px;
        line-height: 10px;
        margin-top: -10px;
        position: absolute; }
    @media (min-width: 990px) {
      html.default body #rubix-nav-header {
        margin-left: 250px; } }
    html.default body #flag-menu-btn > img {
      top: -2px;
      position: relative; }
    html.default body .lang-menu-text {
      line-height: 32px; }
    html.default body .header-menu > .dropdown-menu {
      border: none;
      margin-top: 0px;
      overflow: visible;
      box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
      border-top: 5px solid #E76049 !important; }
      html.default body .header-menu > .dropdown-menu:after {
        top: -14px;
        right: 25px;
        content: '';
        position: absolute;
        display: inline-block;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-bottom: 12px solid #E76049; }
    html.default body #flag-menu-btn + .dropdown-menu {
      width: 325px; }
      html.default body #flag-menu-btn + .dropdown-menu .container-fluid {
        margin-left: -25px;
        margin-right: -25px; }
    html.default body #settings-menu + .dropdown-menu {
      width: 375px; }
    html.default body #notifications-menu + .dropdown-menu,
    html.default body #rss-menu + .dropdown-menu {
      width: 325px; }
      html.default body #notifications-menu + .dropdown-menu > li,
      html.default body #rss-menu + .dropdown-menu > li {
        border-bottom: 1px solid #f2f2f2; }
        html.default body #notifications-menu + .dropdown-menu > li:last-child,
        html.default body #rss-menu + .dropdown-menu > li:last-child {
          border-bottom: none; }
      html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid,
      html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid {
        padding-top: 10px;
        padding-bottom: 10px; }
      html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .avatar-container,
      html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .avatar-container {
        width: 75px;
        padding-right: 10px; }
        html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .avatar-container .label,
        html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .avatar-container .label {
          font-size: 8px; }
      html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container,
      html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container {
        width: 225px; }
        html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .time,
        html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .time {
          line-height: 1;
          font-size: 10px;
          padding-bottom: 5px; }
          html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .time > strong > .rubix-icon,
          html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .time > strong > .rubix-icon {
            margin-right: 5px; }
        html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .message-header,
        html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .message-header {
          line-height: 1;
          font-size: 12px;
          padding-bottom: 5px; }
        html.default body #notifications-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .message-details,
        html.default body #rss-menu + .dropdown-menu > li > a > .container-fluid > .row > .notification-container > .message-details {
          line-height: 1;
          font-size: 10px;
          padding-bottom: 5px; }
      html.default body #notifications-menu + .dropdown-menu .notification-footer-btn,
      html.default body #rss-menu + .dropdown-menu .notification-footer-btn {
        margin: 0;
        height: 100%;
        font-size: 12px;
        border-radius: 0;
        font-weight: bold;
        padding: 6px 12px;
        border: none !important;
        color: #98A0A3 !important;
        background: #F9FAFB !important; }
        html.default body #notifications-menu + .dropdown-menu .notification-footer-btn:hover, html.default body #notifications-menu + .dropdown-menu .notification-footer-btn:focus,
        html.default body #rss-menu + .dropdown-menu .notification-footer-btn:hover,
        html.default body #rss-menu + .dropdown-menu .notification-footer-btn:focus {
          border: none !important;
          background: #eaedf1 !important; }
        html.default body #notifications-menu + .dropdown-menu .notification-footer-btn.left-btn,
        html.default body #rss-menu + .dropdown-menu .notification-footer-btn.left-btn {
          border-right: 1px solid #DDE1E6 !important; }
    html.default body #sidebar {
      top: 0;
      bottom: 0;
      z-index: 1000;
      position: fixed;
      overflow: hidden;
      transition: all 0.3s ease;
      left: -250px;
      width: 250px;
      background: #273135; }
      @media (min-width: 990px) {
        html.default body #sidebar {
          left: 0; } }
      html.default body #sidebar #avatar {
        height: 75px;
        background: #FA7252; }
        html.default body #sidebar #avatar img {
          top: 17px;
          position: relative; }
      html.default body #sidebar #avatar-col, html.default body #sidebar #avatar-desc {
        margin-left: -5px; }
      html.default body #sidebar #demo-progress {
        margin: 0;
        top: 30px;
        height: 4px;
        width: 115px;
        border-radius: 0;
        position: relative;
        background: #DE5939; }
      html.default body #sidebar #demo-icon {
        top: 3px;
        float: right;
        font-size: 18px;
        position: relative;
        color: #DE5939; }
      html.default body #sidebar .sidebar-controls-container {
        width: 250px;
        height: 35px;
        display: table;
        visibility: visible;
        background: #DE5939; }
        html.default body #sidebar .sidebar-controls-container > .sidebar-controls {
          display: table-row; }
          html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn {
            border: none;
            outline: none;
            font-size: 16px;
            cursor: pointer;
            background: none;
            text-align: center;
            display: table-cell;
            vertical-align: middle;
            border-right: 1px solid #cf4d2e; }
            html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn > a {
              outline: none;
              color: #993F31; }
              html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn > a:hover, html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn > a:focus {
                border: none; }
            html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn.active {
              background: #ba4e3b !important; }
              html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn.active > a {
                color: #FA7252; }
            html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn:hover {
              background: rgba(0, 0, 0, 0.04); }
      html.default body #sidebar .sidebar-item {
        height: 35px;
        background: #1F282D; }
      html.default body #sidebar #sidebar-container {
        bottom: 0;
        width: 250px;
        overflow: hidden;
        position: absolute;
        top: 110px; }
        html.default body #sidebar #sidebar-container .sidebar {
          top: 0;
          bottom: 0;
          width: 250px;
          overflow: hidden;
          position: absolute;
          transition: all 0.3s ease; }
    html.default body .sidebar-header {
      line-height: 1;
      font-size: 12px;
      padding-top: 25px;
      font-weight: bold;
      padding-bottom: 12px;
      text-transform: uppercase;
      color: rgba(1, 20, 36, 0.4); }
    html.default body .sidebar-nav > .sidebar-header {
      padding-left: 25px; }
    html.default body .sidebar-nav {
      padding: 0;
      list-style: none;
      margin-left: 28px;
      border-left: 2px solid rgba(59, 70, 72, 0.5); }
      html.default body .sidebar-nav li {
        height: 45px;
        outline: none;
        cursor: pointer;
        overflow: hidden;
        position: relative; }
        html.default body .sidebar-nav li > a {
          height: 45px;
          border: none;
          outline: none;
          color: #89949B;
          display: block;
          font-size: 14px;
          line-height: 14px;
          text-decoration: none;
          padding: 15px 0px 15px 28px; }
          html.default body .sidebar-nav li > a > .rubix-icon,
          html.default body .sidebar-nav li > a > rubix-icon > .rubix-icon {
            width: 16px;
            height: 17px;
            vertical-align: top;
            display: inline-block; }
          html.default body .sidebar-nav li > a > .name {
            line-height: 16px;
            vertical-align: top; }
            html.default body .sidebar-nav li > a > .name > span > .label,
            html.default body .sidebar-nav li > a > .name > .label {
              float: right;
              margin-top: -3px;
              padding: 5px 10px;
              margin-right: 30px; }
          html.default body .sidebar-nav li > a > .rubix-icon ~ .name,
          html.default body .sidebar-nav li > a > rubix-icon ~ .name {
            margin-left: 10px; }
          html.default body .sidebar-nav li > a:hover, html.default body .sidebar-nav li > a:focus {
            border: none;
            background: rgba(0, 0, 0, 0.2); }
        html.default body .sidebar-nav li:hover:before, html.default body .sidebar-nav li.open:before {
          display: none; }
        html.default body .sidebar-nav li.open {
          height: 100%; }
          html.default body .sidebar-nav li.open > a {
            background: rgba(0, 0, 0, 0.2); }
        html.default body .sidebar-nav li:before {
          left: 0;
          top: 22px;
          width: 15px;
          content: ' ';
          position: absolute;
          display: inline-block;
          border: 1px solid rgba(59, 70, 72, 0.5); }
        html.default body .sidebar-nav li.active {
          border-left: 5px solid #E76049; }
          html.default body .sidebar-nav li.active > a {
            background: rgba(0, 0, 0, 0.4);
            padding-left: 23px; }
            html.default body .sidebar-nav li.active > a:hover {
              background: rgba(0, 0, 0, 0.4); }
          html.default body .sidebar-nav li.active:before {
            display: none; }
          html.default body .sidebar-nav li.active:after {
            top: 11px;
            right: 0;
            content: '';
            position: absolute;
            display: inline-block;
            border-top: 12px solid rgba(0, 0, 0, 0);
            border-bottom: 12px solid rgba(0, 0, 0, 0);
            border-right: 10px solid #E9F0F5; }
    html.default body .sidebar-nav-container > .sidebar-nav,
    html.default body .sidebar-nav-container > .ps > .sidebar-nav {
      border: none; }
      html.default body .sidebar-nav-container > .sidebar-nav > li:before,
      html.default body .sidebar-nav-container > .ps > .sidebar-nav > li:before {
        display: none; }
      html.default body .sidebar-nav-container > .sidebar-nav > li > a,
      html.default body .sidebar-nav-container > .ps > .sidebar-nav > li > a {
        font-size: 16px;
        line-height: 16px;
        padding: 15px 28px; }
        html.default body .sidebar-nav-container > .sidebar-nav > li > a > .name,
        html.default body .sidebar-nav-container > .ps > .sidebar-nav > li > a > .name {
          line-height: 18px;
          margin-left: 15px; }
        html.default body .sidebar-nav-container > .sidebar-nav > li > a > .rubix-icon,
        html.default body .sidebar-nav-container > .sidebar-nav > li > a > rubix-icon > .rubix-icon,
        html.default body .sidebar-nav-container > .ps > .sidebar-nav > li > a > .rubix-icon,
        html.default body .sidebar-nav-container > .ps > .sidebar-nav > li > a > rubix-icon > .rubix-icon {
          width: 18px;
          height: 19px;
          display: inline-block; }
      html.default body .sidebar-nav-container > .sidebar-nav > li.active > a,
      html.default body .sidebar-nav-container > .ps > .sidebar-nav > li.active > a {
        padding-left: 23px; }
    html.default body #navbar ~ #sidebar {
      top: 75px; }
    html.default body #body {
      left: 0;
      -webkit-box-flex: 1;
      -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto;
      z-index: 100;
      margin-left: 0;
      position: relative;
      transition: all 0.3s ease;
      background: #E9F0F5;
      margin-top: 28px;
      padding-bottom: 28px; }
    html.default body #navbar ~ #body {
      margin-top: 74px;
      padding-top: 28px; }
    @media (min-width: 990px) {
      html.default body #sidebar ~ #body {
        margin-left: 250px; } }
    html.default body #sidebar + #body {
      margin-top: 0;
      padding-top: 28px; }
    html.default body .external-event {
      background: #E76049; }
    html.default body #footer {
      padding: 10px;
      position: relative;
      color: #CCD6DF;
      background: #011424;
      -webkit-box-flex: 0;
      -webkit-flex: none;
      -ms-flex: none;
      flex: none; }
    html.default body #footer-container {
      transition: all 0.3s ease; }
    @media (min-width: 990px) {
      html.default body #sidebar ~ #footer-container {
        margin-left: 250px; } }

html .sidebar-nav > li > a > .toggle-button {
  top: 14px;
  right: 15px;
  position: absolute; }

.toggle-button {
  transform-origin: 4px;
  transition: all 0.125s ease; }
  .toggle-button.open {
    transform: rotate(-90deg); }
  .toggle-button.opposite {
    transform-origin: 12px; }
    .toggle-button.opposite.open {
      transform: rotate(90deg); }

html.touchevents, html.touchevents > body, html.touchevents #app-container, html.touchevents #app-container > #container {
  position: relative; }

html.touchevents #body {
  top: 0;
  bottom: 0;
  left: 0 !important;
  right: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  min-height: 100% !important;
  margin-top: -103px !important; }
  html.touchevents #body > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding-top: 206px;
    padding-bottom: 28px; }
    html.touchevents #body > div > div {
      overflow-x: hidden; }

html.touchevents #sidebar {
  overflow-y: scroll; }
  html.touchevents #sidebar #sidebar-container .sidebar {
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }

html.touchevents #footer, html.touchevents #footer-container {
  display: none !important;
  position: relative !important; }

html.static {
  background: #273135; }
  html.static body, html.static #app-container {
    background: #273135; }
  html.static #body {
    margin-top: -35px !important; }
  html.static #sidebar, html.static #rubix-nav-header {
    position: relative !important; }
  html.static #rubix-nav-header {
    position: static;
    margin-top: -110px;
    margin-bottom: -110px;
    margin-left: -25px !important;
    margin-right: -28px; }
  html.static #sidebar {
    overflow: visible !important; }
    html.static #sidebar #sidebar-container, html.static #sidebar .sidebar {
      overflow: visible !important; }
  @media (min-width: 990px) {
    html.static #rubix-nav-header {
      margin-left: 222px !important; } }
  html.static #container.container-open #rubix-nav-header {
    margin-left: 222px !important; }
  @media (min-width: 990px) {
    html.static #container.container-open #rubix-nav-header {
      margin-right: -28px !important; } }

html.boxed {
  height: 100%;
  overflow: hidden;
  background: #333333 url("/imgs/common/congruent_outline.png"); }
  html.boxed body {
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: none;
    transition: all 0.5s ease; }
    html.boxed body #navbar {
      padding: 0; }
    html.boxed body #rubix-nav-header {
      margin: 0;
      position: absolute; }
    html.boxed body #sidebar {
      top: 75px; }
    html.boxed body #container.container-open > #sidebar {
      left: 0; }
    html.boxed body #container.container-open #rubix-nav-header {
      margin-left: 0;
      margin-right: 0; }
    html.boxed body #container.container-open > #body, html.boxed body #container.container-open > #footer-container {
      margin-left: 250px;
      margin-right: -250px; }
      @media (min-width: 990px) {
        html.boxed body #container.container-open > #body, html.boxed body #container.container-open > #footer-container {
          margin-right: 0;
          margin-left: 250px; } }
    html.boxed body > #app-container {
      height: 100%;
      overflow: hidden;
      position: relative; }
      html.boxed body > #app-container #rubix-nav-header {
        position: relative; }
      html.boxed body > #app-container #sidebar {
        margin: 0;
        position: absolute; }
      html.boxed body > #app-container #body {
        left: 0;
        right: 0;
        bottom: 0;
        margin-top: 0;
        overflow: auto;
        margin-left: 0;
        position: absolute;
        padding-bottom: 28px;
        padding-top: 206px;
        margin-top: -178px !important;
        overflow-y: auto;
        overflow-x: hidden; }
      html.boxed body > #app-container #footer-container, html.boxed body > #app-container #footer {
        display: none; }
      html.boxed body > #app-container #navbar ~ #body {
        margin-top: 0;
        top: 69px; }
  @media (min-width: 990px) {
    html.boxed body {
      width: 990px;
      margin: auto;
      box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); }
      html.boxed body > #app-container {
        margin: auto; }
        html.boxed body > #app-container #sidebar {
          margin-left: 0; }
        html.boxed body > #app-container #sidebar ~ #body, html.boxed body > #app-container #sidebar ~ #body ~ #footer-container {
          right: 0;
          margin-left: 250px; } }

html.static.boxed {
  height: auto;
  overflow: auto;
  overflow-x: hidden; }
  html.static.boxed body {
    height: auto;
    overflow: visible;
    overflow-x: hidden; }
    html.static.boxed body #app-container {
      overflow: hidden; }
    html.static.boxed body #container.container-open #rubix-nav-header {
      margin-left: 0 !important;
      margin-right: 0 !important; }
    html.static.boxed body #navbar {
      width: 100%; }
    html.static.boxed body #rubix-nav-header {
      margin-right: 0;
      margin-top: -110px;
      margin-left: 0 !important; }
    html.static.boxed body #body {
      overflow: hidden !important;
      padding-top: 95px !important;
      position: relative !important;
      padding-bottom: 95px !important; }
    html.static.boxed body #footer-container, html.static.boxed body #footer {
      display: block !important; }
    html.static.boxed body #footer-container {
      margin-top: 28px; }

html, body {
  font-family: "Proxima Nova";
  line-height: 1.4; }

.ps__scrollbar-y-rail {
  z-index: 1000; }

html.default body.drawer-open #sidebar {
  z-index: 1; }

html.default body.drawer-open {
  height: 100vh;
  overflow: hidden; }

html.default body #sidebar ~ #body {
  margin-left: 50px !important; }

html.default body {
  color: #353e4a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  html.default body ul.sidebar-nav {
    border-left: none;
    margin-left: 0;
    font-size: 16px; }
    html.default body ul.sidebar-nav > li.sidebar-nav-item {
      position: relative;
      z-index: 1; }
      html.default body ul.sidebar-nav > li.sidebar-nav-item:before {
        display: none; }
      html.default body ul.sidebar-nav > li.sidebar-nav-item .toggle-button {
        font-size: 12px;
        position: absolute;
        right: 10px;
        top: 16px; }
      html.default body ul.sidebar-nav > li.sidebar-nav-item > .sidebar-nav {
        max-height: 0;
        transition: opacity 0.1s ease-out, max-height 0.15s ease-out;
        overflow: hidden;
        opacity: 0; }
        html.default body ul.sidebar-nav > li.sidebar-nav-item > .sidebar-nav > li:before {
          content: none; }
        html.default body ul.sidebar-nav > li.sidebar-nav-item > .sidebar-nav > li > a {
          padding-left: 65px;
          font-size: 16px; }
          html.default body ul.sidebar-nav > li.sidebar-nav-item > .sidebar-nav > li > a .name {
            font-size: 15px; }
      html.default body ul.sidebar-nav > li.sidebar-nav-item.open > .sidebar-nav {
        opacity: 1;
        max-height: 500px;
        transition: max-height 0.3s ease-in, opacity 0.2s ease-in; }

html.default body {
  color: #353e4a; }
  html.default body .sidebar-nav {
    border-left: none;
    margin-left: 0;
    font-size: 16px; }
    html.default body .sidebar-nav > .sidebar-nav-item {
      position: relative;
      z-index: 1; }
      html.default body .sidebar-nav > .sidebar-nav-item:before {
        display: none; }
      html.default body .sidebar-nav > .sidebar-nav-item .toggle-button {
        font-size: 12px; }
      html.default body .sidebar-nav > .sidebar-nav-item > .ps > .sidebar-nav {
        max-height: 0;
        transition: opacity 0.1s ease-out, max-height 0.15s ease-out;
        overflow: hidden;
        opacity: 0; }
        html.default body .sidebar-nav > .sidebar-nav-item > .ps > .sidebar-nav li:before {
          content: none; }
        html.default body .sidebar-nav > .sidebar-nav-item > .ps > .sidebar-nav li a {
          padding-left: 65px;
          font-size: 16px; }
          html.default body .sidebar-nav > .sidebar-nav-item > .ps > .sidebar-nav li a .name {
            font-size: 15px; }
      html.default body .sidebar-nav > .sidebar-nav-item.open > .ps > .sidebar-nav {
        opacity: 1;
        overflow-y: unset;
        max-height: unset;
        transition: max-height 0.3s ease-in, opacity 0.2s ease-in; }

.btn:focus, .btn:active, button:focus, button:active, a:focus, a:active {
  outline: none !important; }

#logo-section {
  background: transparent;
  text-align: left;
  padding: 12px 20px 12px 20px;
  min-height: 70px; }
  #logo-section .logo-title {
    font-weight: 900;
    font-size: 12px;
    color: #35668F; }

#body.contract_rx {
  padding-top: 10px !important; }
  #body.contract_rx .page-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #35668F; }
  #body.contract_rx .page-category {
    margin: 5px 0 0;
    font-size: 36px;
    color: #35668F; }

#body.mixed_use .page-category {
  margin: 5px 0 0;
  font-size: 16px;
  color: #55606e; }

#body.mixed_use .page-title {
  margin: 0;
  font-size: 38px;
  font-weight: 700; }

.page-title-heder {
  text-transform: capitalize; }

html.default .mt-13 {
  margin-top: 13px; }

html.default .mt-18 {
  margin-top: 18px; }

html.default hr {
  border-color: #99A0AB;
  margin-top: 15px;
  margin-bottom: 15px; }
  html.default hr.mt-5 {
    margin-top: 5px; }
  html.default hr.mb-5 {
    margin-bottom: 5px; }

html.default .form-control {
  border: 1px solid #cdcdcd;
  border-radius: 8px !important;
  height: 45px;
  color: #353e4a; }
  html.default .form-control:focus {
    border-color: #35668F; }

html.default textarea.form-control {
  border-color: #707070;
  height: 130px;
  resize: none; }
  html.default textarea.form-control:focus {
    border-color: #707070; }

html.default .input-group-addon {
  background-color: #cdcdcd; }

html.default .form-horizontal .control-label {
  margin-bottom: 0; }

html.default .input-group .form-control:last-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

html.default textarea.form-control {
  padding: 10px 15px; }

.rubix-timeline-icon {
  padding: 0 5px; }

.insight-timeline {
  margin-left: 13px;
  border-color: #3fddff;
  border-width: 1px;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 15px; }
  .insight-timeline .rubix-timeline-item {
    padding-bottom: 10px; }
  .insight-timeline .rubix-timeline-icon {
    top: 3px; }
  .insight-timeline .rubix-timeline-title {
    background: none;
    padding-left: 0;
    font-size: 18px; }

.invoice-date {
  margin-left: 30px; }

.controls-icons {
  border-bottom: 1px solid #3fddff; }

.buttons-container {
  clear: both;
  width: 100%;
  border-top: 1px solid #35668F; }
  .buttons-container ul {
    margin-bottom: 0;
    margin-left: 0; }
    .buttons-container ul li {
      cursor: pointer;
      padding: 9px 30px;
      font-size: 16px;
      font-weight: 400;
      color: #35668F; }
      .buttons-container ul li:hover, .buttons-container ul li.active {
        transition: 0.3s linear;
        background-color: #35668F;
        color: #ffffff;
        text-decoration: none;
        font-weight: 600; }
      @media (max-width: 640px) {
        .buttons-container ul li {
          width: 100%; } }

.gray-label, .control-label, .toggle-label {
  font-size: 15px;
  color: #99a0ab;
  font-weight: 600; }

.info-label {
  color: #55606e;
  font-family: "Proxima Nova";
  font-size: 15px;
  font-weight: 400; }

table, select, option, input {
  font-size: 16px; }

.btn {
  height: 45px;
  border-radius: 8px;
  text-transform: none;
  font-weight: 700;
  font-size: 16px;
  padding: 2px 30px;
  display: flex;
  align-items: center;
  justify-content: center; }
  .btn.btn-lg, .btn-group-lg > .btn {
    height: 55px;
    font-size: 20px;
    font-weight: 700;
    text-transform: none;
    border-radius: 8px;
    letter-spacing: normal;
    padding: 15px 30px !important; }
  .btn.force_button {
    width: 250px;
    margin-top: 10px;
    background-color: #03bb03;
    color: #ffffff;
    transition: 0.3s;
    padding: 2px 13px;
    height: 45px; }
    .btn.force_button.force_disabled {
      background-color: #E8E9EB;
      color: #89949B; }
  .btn.csv-grid-fix {
    background-color: #03bb03;
    color: #ffffff;
    transition: 0.3s;
    padding: 2px 13px;
    height: 45px; }
    @media (max-width: 990px) {
      .btn.csv-grid-fix {
        margin-bottom: 15px; } }
    .btn.csv-grid-fix:hover {
      background-color: rgba(3, 187, 3, 0.6); }
    .btn.csv-grid-fix span {
      margin-right: 10px; }

.btn-success {
  background-color: #03bb03;
  border-color: #03bb03; }
  .btn-success:focus, .btn-success.focus, .btn-success:hover {
    background-color: #4BD14B;
    border-color: #4BD14B; }
  .btn-success:active, .btn-success.active, .btn-success[aria-expanded="true"], .btn-success.active:hover, .btn-success.active:focus, .btn-success[aria-expanded="true"]:hover, .btn-success[aria-expanded="true"]:focus {
    background-color: #099A09;
    border-color: #099A09; }

.btn-primary {
  background-color: #35668F;
  border-color: #35668F; }
  .btn-primary:focus, .btn-primary.focus, .btn-primary:hover {
    background-color: #0091C4;
    border-color: #0091C4; }
  .btn-primary:active, .btn-primary.active, .btn-primary[aria-expanded="true"], .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary[aria-expanded="true"]:hover, .btn-primary[aria-expanded="true"]:focus {
    background-color: #0091C4;
    border-color: #0091C4; }

.btn-cancel:focus, .btn-cancel.focus, .btn-cancel:hover {
  background-color: #E6E6E6 !important;
  border-color: #E6E6E6 !important; }

.btn-cancel:active, .btn-cancel.active, .btn-cancel[aria-expanded="true"], .btn-cancel.active:hover, .btn-cancel.active:focus, .btn-cancel[aria-expanded="true"]:hover, .btn-cancel[aria-expanded="true"]:focus {
  background-color: #D8D8D8 !important;
  border-color: #D8D8D8 !important; }

.btn.btn-blue {
  background-color: #5499E9;
  border-color: #5499E9;
  color: #ffffff; }
  .btn.btn-blue:focus, .btn.btn-blue.focus, .btn.btn-blue:hover {
    background-color: #4490e6;
    border-color: #4490e6;
    color: #ffffff; }
  .btn.btn-blue:active, .btn.btn-blue.active, .btn.btn-blue[aria-expanded="true"], .btn.btn-blue.active:hover, .btn.btn-blue.active:focus, .btn.btn-blue[aria-expanded="true"]:hover, .btn.btn-blue[aria-expanded="true"]:focus {
    background-color: #5499E9;
    border-color: #5499E9;
    color: #ffffff; }

.search-input input {
  font-size: 22px !important;
  font-weight: 400; }
  .search-input input::placeholder {
    color: #99a0ab; }

.loader-hidden {
  display: none; }

.loader-active {
  display: block; }

.loader {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 200px;
  justify-content: center;
  align-items: center; }

#sidebar-trigger {
  cursor: pointer; }

.ReactTable .rt-noData {
  background: transparent !important;
  font-size: 16px;
  color: #de1927 !important;
  margin-bottom: 0;
  font-weight: bold; }

.rubix-panel-container-with-controls .rubix-panel-container {
  overflow: visible; }

.Select-control {
  border-color: #cdcdcd !important;
  height: 45px;
  border-radius: 8px; }

.Select-menu-outer {
  border-top: 0; }

.Select.is-open .Select-control {
  border-bottom: 0px; }

.Select-placeholder, .Select--single > .Select-control .Select-value {
  line-height: 45px; }

.Select-input > input {
  line-height: 28px; }

.sidebar-nav-item.closed {
  transition: height 2s ease;
  /* Safari */
  height: 0% !important;
  /* width as the % value */
  min-height: 45px;
  max-height: 45px; }

.sidebar-nav-item.open {
  cursor: default !important;
  transition: height 2s ease;
  /* Safari */ }

.sidebar-nav-container > .sidebar-nav > li.active:after,
.sidebar-nav-container > .ps > .sidebar-nav > li.active:after {
  content: none !important; }

html.default body .sidebar-nav-container .icomoon-blocked:before {
  color: #55606e; }

h1, h2, h3, h4, p {
  cursor: default; }

#modal-root {
  position: relative;
  z-index: 9999; }

.modal_csv {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center; }

.version {
  position: absolute;
  margin: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: #c7c7c7;
  background: #fff;
  font-size: 12px; }

.SingleDatePickerInput {
  border: 0px; }
  .SingleDatePickerInput .DateInput {
    width: auto; }
    .SingleDatePickerInput .DateInput:before {
      content: "\e919";
      position: absolute;
      right: 19px;
      top: 13px;
      color: #99a0ab;
      /* use !important to prevent issues with browser extensions that change fonts */
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
    .SingleDatePickerInput .DateInput input {
      color: #444;
      height: 45px;
      padding: 0 40px 0 12px;
      box-shadow: none !important;
      letter-spacing: 0.5px;
      display: block;
      width: 100%;
      font-size: 16px;
      line-height: 1.78571;
      background-color: #fff;
      background-image: none;
      border-radius: 8px;
      -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
      -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
      transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
      border: 1px solid #cdcdcd !important; }
  .SingleDatePickerInput .DateInput_fang {
    top: 40px !important; }
  .SingleDatePickerInput svg {
    fill: #011424 !important; }

.DateInput_fangStroke, .DateInput_fang {
  stroke: #cdcdcd !important; }

.DateRangePickerInput {
  min-width: 100%; }
  @media (min-width: 375px) {
    .DateRangePickerInput {
      min-width: 201px; } }
  @media (min-width: 425px) {
    .DateRangePickerInput {
      margin-right: 15px; } }

.DateRangePickerInput__withBorder {
  border: 1px solid #CDCDCD;
  border-radius: 8px !important; }

.DateInput_input__small {
  padding: 12px 6px 12px; }

.SingleDatePickerInput {
  border-radius: 7px; }

.DateInput_input {
  font-size: 16px; }
  .DateInput_input__disabled {
    background-color: transparent !important;
    cursor: not-allowed; }
  .DateInput_input__focused {
    border-bottom: 0; }

.DateRangePickerInput_arrow {
  vertical-align: 1px; }

.DateInput_input,
.DateInput {
  background-color: transparent; }

.SingleDatePicker_picker__directionLeft {
  top: 50px !important; }

.CalendarDay__selected, .CalendarDay__selected:active, .CalendarDay__selected:hover {
  border: 1px solid #35668F;
  background-color: #35668F;
  color: #fff; }

.DayPicker__horizontal {
  background: #fff;
  border: 1px solid #cdcdcd;
  overflow: hidden;
  border-radius: 4px !important; }

.DayPickerNavigation_button__default {
  border: 0 !important;
  border-radius: 0px !important; }

.CalendarDay__selected_span {
  border: 1px solid #cdcdcd;
  background-color: #f4f7ff;
  color: #55606e; }

.CalendarDay__default {
  border: 1px solid #cdcdcd; }

.CalendarDay__selected_span:hover, .CalendarDay__hovered_span {
  background: rgba(3, 116, 187, 0.7);
  border: 1px solid #cdcdcd;
  color: #55606e; }

.CalendarDay__hovered_span:hover {
  background: #1cddfc !important;
  border: 1px solid #1CDDFC !important;
  color: #fff; }

.CalendarDay__blocked_out_of_range, .CalendarDay__blocked_out_of_range:active, .CalendarDay__blocked_out_of_range:hover {
  border-color: #cdcdcd; }

.DateRangePicker_picker {
  z-index: 13 !important; }
  .DateRangePicker_picker__bottom-options {
    display: flex; }
  .DateRangePicker_picker .btn-info {
    height: 30px;
    background-color: #45c6f3;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 15px;
    line-height: 20px;
    padding: 2px 20px;
    margin: 0px 0px 25px 20px !important; }
    .DateRangePicker_picker .btn-info:hover {
      background: #7AD7F7;
      border-color: #7AD7F7; }
    .DateRangePicker_picker .btn-info:active {
      background: #0091C4;
      border-color: #0091C4; }

.btn-link {
  height: auto; }

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  border-color: #cdcdcd; }

.table > thead > tr > th {
  border-bottom: 0; }

.table-striped > tbody .form-group {
  margin-bottom: 0; }

.table-striped > tbody > tr > td {
  border-right: 1px solid #cdcdcd;
  border-bottom: 1px solid #cdcdcd; }
  @media (min-width: 990px) {
    .table-striped > tbody > tr > td {
      padding-left: 30px; } }
  .table-striped > tbody > tr > td:last-child {
    border-right: 0; }

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

.table-striped > tbody .edit {
  color: #00529B;
  margin-right: 15px; }
  .table-striped > tbody .edit:hover {
    color: #B2E5FF; }

.table-fit .checkbox-label {
  margin: 0 0 0 10px; }

.table-fit tbody tr td {
  padding: 3px; }

label [type="checkbox"]:not(:checked),
label [type="checkbox"]:checked,
label [type="radio"]:not(:checked),
label [type="radio"]:checked {
  position: absolute;
  left: -9999px; }

.checkbox-label,
.radio-label {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
  padding-top: 2px; }
  .checkbox-label.small,
  .radio-label.small {
    margin: 0; }
  .checkbox-label .checkmark:before,
  .radio-label .checkmark:before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    border: 1px solid #CDCDCD;
    background: #fff;
    border-radius: 2px; }
  .checkbox-label [type="checkbox"] ~ .checkmark:after,
  .radio-label [type="checkbox"] ~ .checkmark:after {
    content: "\e916";
    position: absolute;
    top: 10px;
    left: 1px;
    color: #fff;
    font-size: 9px;
    transition: all .2s;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .checkbox-label [type="checkbox"]:not(:checked) ~ .checkmark:after,
  .radio-label [type="checkbox"]:not(:checked) ~ .checkmark:after {
    opacity: 0;
    transform: scale(0); }
  .checkbox-label [type="checkbox"]:not(:checked) ~ .checkmark:before,
  .radio-label [type="checkbox"]:not(:checked) ~ .checkmark:before {
    background-color: #fff; }
  .checkbox-label [type="checkbox"]:checked ~ .checkmark:after,
  .radio-label [type="checkbox"]:checked ~ .checkmark:after {
    opacity: 1;
    transform: scale(1); }
  .checkbox-label [type="checkbox"]:checked ~ .checkmark:before,
  .radio-label [type="checkbox"]:checked ~ .checkmark:before {
    background-color: #35668F;
    border-color: #35668F; }

.radio-label .checkmark:before {
  border-radius: 50%; }

.radio-label [type="radio"] + .checkmark:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #ffffff;
  border-radius: 50%;
  left: 5px;
  top: 9px;
  transition: all .2s; }

.radio-label [type="radio"]:not(:checked) + .checkmark:after {
  opacity: 0;
  transform: scale(0); }

.radio-label [type="radio"]:not(:checked) + .checkmark:before {
  background-color: #fff; }

.radio-label [type="radio"]:checked + .checkmark:after {
  opacity: 1;
  transform: scale(1); }

.radio-label [type="radio"]:checked + .checkmark:before {
  background-color: #35668F;
  border-color: #35668F; }

.radio label,
.checkbox label {
  padding-left: 0; }

.radio label, .checkbox.disabled label {
  color: #9e9e9e; }

#body.contract_rx .search-filter-toggle {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-top: 10px !important;
  width: 150px;
  transform: scale(0.85);
  top: 4px; }
  @media (min-width: 640px) {
    #body.contract_rx .search-filter-toggle {
      margin-right: 1%;
      margin-left: 1%; } }
  #body.contract_rx .search-filter-toggle .toggle-label {
    margin-left: 10px;
    padding-top: 3px;
    display: inline-block !important;
    margin-bottom: 0px;
    color: #35668F;
    font-weight: 900; }
  #body.contract_rx .search-filter-toggle > div {
    width: 65px !important;
    transform: scale(0.85); }

#body.contract_rx .side-drawer__button {
  height: 39px;
  margin-top: 17px; }

@media (min-width: 640px) {
  .search-filter-toggle {
    margin-right: 1.5%;
    margin-left: 1.5%; } }

.search-filter-toggle .toggle-label {
  margin-left: 10px;
  padding-top: 3px;
  display: inline-block; }

.search-filter-toggle > div {
  width: 65px !important; }
  .search-filter-toggle > div > div:first-child {
    width: 65px !important;
    height: 35px !important;
    border-radius: 18px !important; }
    .search-filter-toggle > div > div:first-child div {
      display: none !important; }
  .search-filter-toggle > div > div:nth-child(2) div {
    width: 31px !important;
    height: 31px !important;
    box-shadow: 0 3px 6px rgba(53, 62, 74, 0.25) !important;
    background-color: #ffffff !important;
    border-radius: 50%; }
  .search-filter-toggle > div input[value="true"] ~ div,
  .search-filter-toggle > div [type="checkbox"]:checked ~ div {
    background-color: red !important; }

.search-filter-toggle--horizontal {
  display: flex;
  align-items: center; }
  .search-filter-toggle--horizontal label {
    margin-bottom: 0; }
  .search-filter-toggle--horizontal div + label,
  .search-filter-toggle--horizontal label + div {
    margin-left: 15px; }

@media (min-width: 640px) {
  .search-filter-toggle-cdm {
    margin-left: 1.5%; } }

.search-filter-toggle-cdm .toggle-label {
  margin-left: 10px;
  padding-top: 3px;
  display: inline-block; }

.search-filter-toggle-cdm label {
  margin-bottom: 15px; }

.search-filter-toggle-cdm > div {
  width: 65px !important; }
  .search-filter-toggle-cdm > div > div:first-child {
    width: 65px !important;
    height: 35px !important;
    border-radius: 18px !important; }
    .search-filter-toggle-cdm > div > div:first-child div {
      display: none !important; }
  .search-filter-toggle-cdm > div > div:nth-child(2) div {
    width: 31px !important;
    height: 31px !important;
    box-shadow: 0 3px 6px rgba(53, 62, 74, 0.25) !important;
    background-color: #ffffff !important;
    border-radius: 50%; }
  .search-filter-toggle-cdm > div input[value="true"] ~ div,
  .search-filter-toggle-cdm > div [type="checkbox"]:checked ~ div {
    background-color: red !important; }

.search-filter-toggle-cdm--horizontal {
  display: flex;
  align-items: center; }
  .search-filter-toggle-cdm--horizontal label {
    margin-bottom: 0; }
  .search-filter-toggle-cdm--horizontal div + label, .search-filter-toggle-cdm--horizontal label + div {
    margin-left: 15px; }

.mt-20 {
  margin-top: 20px; }

.mb-40 {
  margin-bottom: 40px; }

.mt-0 {
  margin-top: 0 !important; }

.mr-10 {
  margin-right: 10px; }

.checkbox-group {
  display: flex;
  align-items: center; }
  .checkbox-group__list {
    display: flex;
    flex-wrap: wrap; }
    .checkbox-group__list--horizontal {
      flex-direction: row; }
    .checkbox-group__list--vertical {
      flex-direction: column; }
  .checkbox-group--vertical .checkbox-group__buttons {
    margin-left: 25px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    justify-content: space-between; }
    .checkbox-group--vertical .checkbox-group__buttons .reset-checkboxes {
      color: #333333;
      padding-top: 2px;
      padding-bottom: 5px;
      cursor: pointer; }
      .checkbox-group--vertical .checkbox-group__buttons .reset-checkboxes.disabled, .checkbox-group--vertical .checkbox-group__buttons .reset-checkboxes.disabled:hover {
        color: #99a0ab;
        cursor: not-allowed; }
      .checkbox-group--vertical .checkbox-group__buttons .reset-checkboxes:hover {
        color: #000; }

.checkbox-group-horizontal {
  display: flex; }
  .checkbox-group-horizontal > div {
    margin-right: 10px; }

.checkbox-group-vertical {
  flex-direction: column;
  flex-wrap: wrap; }

.mb-15 {
  margin-bottom: 15px; }

.mr-1_5p {
  margin-right: 1.5%; }

.cards-list-container {
  float: left;
  width: 100%; }

.ps.ps--active-x > .ps__scrollbar-x-rail, .ps.ps--active-y > .ps__scrollbar-y-rail {
  z-index: 9; }

.ui2-react-table__td .date-range-picker--dropdown__body {
  left: unset;
  right: 0; }

.infinite-scroll-component .card-box.open:last-child {
  margin-bottom: 10px; }

.enddateproviderEndDateCustom .SingleDatePicker .SingleDatePicker_picker__directionLeft {
  left: unset !important;
  right: 0; }

.ag-root-wrapper.ag-ltr.ag-layout-normal {
  line-height: 35px; }

.ag-body-viewport .ag-wrapper.ag-input-wrapper.ag-checkbox-input-wrapper {
  background: none;
  box-shadow: none; }

span.ag-icon.ag-icon-tree-open {
  line-height: normal; }

span.ag-icon.ag-icon-tree-closed {
  line-height: normal; }

/* React Bootstrap Table */
.icon-eye:before {
  font-size: 34px;
  line-height: 15px; }

.menu-ico-ideas:before, .menu-ico-file:before, .menu-ico-file-2:before {
  margin-left: 0; }

.icon-clipboard:before {
  font-size: 60px;
  margin: 0;
  line-height: 29px; }

.view-more {
  color: #011424;
  position: relative;
  padding-left: 35px;
  overflow: hidden; }
  .view-more > .icon-eye {
    position: absolute;
    left: -3px;
    top: 9px; }

.btn-cancel, .clear-btn {
  color: #DE1927;
  font-weight: bold;
  outline: none; }
  .btn-cancel:hover, .clear-btn:hover {
    color: #ea1f19; }
  .btn-cancel:focus, .clear-btn:focus {
    border: 0; }
  .btn-cancel.fit-to-order, .clear-btn.fit-to-order {
    position: absolute;
    top: 5px;
    right: 0; }

.ratio-wrapper {
  padding-top: 15px; }
  .ratio-wrapper.success .ratio-data-wrapper .ratio-direction {
    background: #41B700; }
  .ratio-wrapper .ratio-title {
    font-size: 17px;
    margin: 0; }
  .ratio-wrapper .ratio-subtitle {
    font-size: 13px;
    line-height: 11px; }
  .ratio-wrapper .ratio-data-wrapper {
    display: flex;
    align-items: center; }
    .ratio-wrapper .ratio-data-wrapper .ratio-data {
      font-size: 22px;
      font-weight: bold;
      font-size: 26px;
      line-height: 22px; }
    .ratio-wrapper .ratio-data-wrapper .ratio-direction {
      color: white;
      font-size: 16px;
      background: #EA1F19;
      display: inline-block;
      padding: 1px 5px;
      position: relative;
      padding-left: 35px;
      margin-left: 10px; }
    .ratio-wrapper .ratio-data-wrapper .ratio-icon {
      position: absolute;
      top: 4px;
      font-size: 25px;
      left: 5px; }

[class^="menu-ico-"]:before, [class*=" menu-ico-"]:before {
  font-size: 120%; }

html.default body .sidebar-nav-container > .sidebar-nav > li a .rubix-icon,
html.default body .sidebar-nav-container > .ps > .sidebar-nav > li a .rubix-icon {
  width: 25px;
  height: auto;
  text-align: center;
  color: #cdcdcd; }

html.default body .sidebar-nav-container > .sidebar-nav > li.open > a > .rubix-icon,
html.default body .sidebar-nav-container > .ps > .sidebar-nav > li.open > a > .rubix-icon,
html.default body .sidebar-nav-container > .sidebar-nav li.active > a > .rubix-icon,
html.default body .sidebar-nav-container > .ps > .sidebar-nav li.active > a > .rubix-icon {
  color: #35668F; }

html .sidebar-nav > li > a .toggle-button.icon-fontello-left-open-3 {
  top: 17px;
  right: 24px;
  transform: rotate(-90deg);
  transition: transform 0.3s;
  color: #353E4A !important;
  transform-origin: center; }
  html .sidebar-nav > li > a .toggle-button.icon-fontello-left-open-3.open {
    transform: rotate(90deg);
    color: #35668F !important; }

.cursor-pointer {
  cursor: pointer; }

.icomoon-tag {
  margin-right: 5px; }

.box-important {
  margin-right: 15px;
  width: 50px;
  height: 50px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("/imgs/icons/icons8-box_important.png"); }

/* Page styles */
.todo-item {
  border-bottom: 1px solid #eee; }
  .todo-item button {
    display: none;
    margin-top: 8px; }
  .todo-item:hover {
    background: #fefef4; }
    .todo-item:hover button {
      display: inline-block; }

.home-fix-height {
  height: 100vh; }

@media (max-width: 989px) {
  .todo-item .text-right {
    display: none; }
  .todo-item:hover .text-right {
    display: block;
    text-align: center;
    margin-bottom: 12.5px; } }

.pseudoTable {
  padding-left: 25px; }
  .pseudoTable p {
    margin-bottom: 0px; }
  .pseudoTable .subtotal {
    border-top: 1px solid #89949b;
    border-bottom: 1px solid #89949b;
    margin-top: 12px;
    margin-bottom: 12px; }
  .pseudoTable .subTotalLine {
    color: #5fbdbc; }
  .pseudoTable .total {
    font-size: 20px; }
  .pseudoTable .tableHeader {
    color: #5fbdbc; }

.pseudoTable [class*="col-"] {
  padding-right: 0;
  padding-left: 0; }

.subTotalLine + .subTotalLine {
  margin-top: -25px;
  border-top: none; }

html.default body #sidebar #avatar {
  color: #011424; }

html.default body #sidebar {
  background: #fff;
  max-width: 375px;
  width: 100%;
  left: -375px; }

.logo-img {
  position: relative;
  right: 9px;
  height: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 924 / 540; }

/***** Break Point sidebar menu definition ****/
@media (min-width: 990px) {
  html.default body #sidebar {
    left: -375px; } }

@media (min-width: 10000px) {
  html.default body #sidebar {
    left: 0; } }

@media (min-width: 990px) {
  html.default body #sidebar ~ #body {
    margin-left: 0; } }

@media (min-width: 10000px) {
  html.default body #sidebar ~ #body {
    margin-left: 375px; } }

/***** END:  Break Point sidebar menu definition ****/
html.default body #sidebar #sidebar-container {
  top: 150px; }

html.default body #sidebar .sidebar-controls-container {
  background: #c4e3ff; }

html.default body .sidebar-nav > li.active > a {
  color: #fff; }

html.default body .sidebar-nav > li.active > a:hover {
  background: #f4f7ff;
  color: #35668F; }

html.default.touchevents #body {
  margin-top: 0 !important; }

html.default.touchevents #body > div {
  padding-top: inherit; }

.navbar-page-title {
  border: none;
  margin-bottom: 20px;
  background: #f3f6f7; }
  .navbar-page-title .container-fluid {
    padding: 0; }

#fixed-top-searchbar {
  border: none;
  margin-bottom: 15px;
  padding-top: 0;
  background: #f3f6f7; }
  #fixed-top-searchbar .container-fluid {
    padding: 0; }

.container-open #body {
  margin-left: 0 !important;
  margin-right: 0 !important; }
  @media (min-width: 10000px) {
    .container-open #body {
      margin-left: 375px; } }

.container-open {
  margin-left: 375px !important; }
  @media (max-width: 1630px) {
    .container-open {
      margin-left: 0px !important; } }

html.default body div.container-open #sidebar ~ #body {
  margin-left: 0 !important; }
  @media (max-width: 1630px) {
    html.default body div.container-open #sidebar ~ #body {
      margin-left: 50px !important; } }

#fixed-top-searchbar.scrolled {
  margin-left: 50px;
  padding-top: 20px;
  border-bottom: 2px solid #35668F;
  transition: none; }
  @media (min-width: 10000px) {
    #fixed-top-searchbar.scrolled {
      margin-left: 375px;
      transition: none; } }
  #fixed-top-searchbar.scrolled > .container-fluid {
    padding-left: 50px;
    padding-right: 50px; }

.panel-controlls {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: wrap; }
  @media (min-width: 990px) {
    .panel-controlls {
      flex-wrap: nowrap; } }
  .panel-controlls .btn {
    border-radius: 5px; }
  .panel-controlls.disable-cols > .form-group {
    width: auto; }
  .panel-controlls > .form-group {
    width: 100%; }
    @media (min-width: 990px) {
      .panel-controlls > .form-group {
        width: 33%;
        margin-left: 10px; } }
    @media (min-width: 1152px) {
      .panel-controlls > .form-group {
        width: auto; } }
    .panel-controlls > .form-group:first-child {
      margin-left: 0; }
    .panel-controlls > .form-group button,
    .panel-controlls > .form-group .btn {
      width: 100%; }
      @media (min-width: 990px) {
        .panel-controlls > .form-group button,
        .panel-controlls > .form-group .btn {
          width: auto;
          margin-left: 15px; } }

.panel-controll-buttons {
  padding-top: 16px; }
  .panel-controll-buttons > button,
  .panel-controll-buttons .btn {
    width: 100%; }
    @media (min-width: 990px) {
      .panel-controll-buttons > button,
      .panel-controll-buttons .btn {
        width: auto;
        margin-left: 15px; } }
  .panel-controll-buttons > a {
    border-radius: 5px;
    color: white;
    text-decoration: none; }
  .panel-controll-buttons > button {
    border-radius: 5px; }

.medicationItem {
  margin-left: 25px;
  border: 1px solid #000;
  border-left: 3px solid #000;
  padding-left: 10px;
  margin-bottom: 10px;
  padding-top: 10px;
  padding-bottom: 10px; }
  .medicationItem .medicationName {
    font-size: 18px; }
  .medicationItem h3 {
    margin-top: 10px; }
  .medicationItem .price {
    font-size: 18px; }
    .medicationItem .price .icon-fontello-up-1 {
      color: green; }
    .medicationItem .price .icon-fontello-down-1 {
      color: red; }

html.default body #body {
  background: #f3f6f7; }

#body.contract_rx {
  background: #e9f3e8; }

html.default body #navbar ~ #body {
  margin-top: 0; }

.container-open .icon-fontello-menu-3:before {
  content: "\efb8"; }

#sidebar-trigger {
  display: flex;
  position: fixed;
  background: white;
  color: white;
  top: 0;
  z-index: 1100;
  left: 0;
  transition: all 0.3s ease;
  display: inline-block !important; }
  @media (min-width: 10000px) {
    #sidebar-trigger {
      display: none !important; } }
  #sidebar-trigger .sidebar-btn a {
    padding: 0; }
  #sidebar-trigger .sidebar-btn-icon {
    color: #35668F;
    padding: 10px;
    width: 44px;
    height: 70px;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
    background: #fff; }
    #sidebar-trigger .sidebar-btn-icon .rubix-icon:before {
      margin-left: -2px;
      margin-right: 0; }
    #sidebar-trigger .sidebar-btn-icon .text {
      margin-top: 3px;
      font-size: 7px; }
  #sidebar-trigger .sidebar-btn-line {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: white;
    z-index: -1;
    position: fixed;
    width: 44px;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding-bottom: 15px; }
    #sidebar-trigger .sidebar-btn-line > div {
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      justify-content: flex-start;
      transform: rotate(-90deg);
      width: 100%; }
    #sidebar-trigger .sidebar-btn-line .logo-img {
      max-width: 115px;
      padding-left: 15px; }
    #sidebar-trigger .sidebar-btn-line .logo-title {
      padding-left: 10px;
      font-weight: 900;
      font-size: 12px;
      color: #35668f;
      min-width: 120px; }
  #sidebar-trigger .sidebar-btn a.menu-opened .sidebar-btn-icon {
    width: 90px;
    align-items: flex-end;
    padding-right: 18px;
    font-size: 17px; }
    #sidebar-trigger .sidebar-btn a.menu-opened .sidebar-btn-icon .rubix-icon:before {
      margin-right: 0; }
    #sidebar-trigger .sidebar-btn a.menu-opened .sidebar-btn-icon .text {
      margin-top: 0;
      font-size: 10px; }
  #sidebar-trigger .sidebar-btn a.menu-opened .sidebar-btn-line {
    display: none; }

.container-open #sidebar-trigger {
  left: 72vw; }
  @media (min-width: 375px) {
    .container-open #sidebar-trigger {
      left: 285px; } }

html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn.active {
  background: #3fddff !important; }

html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn.active > a {
  color: #fff; }

html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn > a {
  color: #031321; }

html.default body #sidebar .sidebar-controls-container > .sidebar-controls > .sidebar-control-btn {
  border-right: none; }

html.default body .sidebar-nav > li > a:hover {
  background: #f4f7ff; }

html.default body .sidebar-nav > li > a:focus {
  background: #f4f7ff; }

html.default body .sidebar-nav > li.open > a {
  background: #f4f7ff;
  color: #35668F; }

html.default body .sidebar-nav > li.open > a:hover {
  background: #f4f7ff; }

html.default body .sidebar-nav > li.open > a > .name {
  font-weight: bold; }

html.default body .sidebar-nav > li > a {
  color: #353e4a;
  height: auto; }

html.default body .sidebar-nav > li {
  height: auto; }

html.default body .sidebar-nav > li.active {
  border-left: none; }

html.default body .sidebar-nav > li.active:after {
  content: none; }

html.default body .sidebar-nav > li.active > a {
  background: transparent;
  color: #35668F; }

html.default body #sidebar > #avatar {
  background: transparent;
  color: #011424; }

html.default body .sidebar-nav-container > .sidebar-nav > li a,
html.default body .sidebar-nav-container > .ps > .sidebar-nav > li a {
  display: flex;
  align-items: center;
  padding: 15px 30px; }

html.default body .sidebar-nav-container > .sidebar-nav > li.active > a,
html.default body .sidebar-nav-container > .ps > .sidebar-nav > li.active > a {
  padding-left: 28px; }

html.default body .btn.btn-export-csv {
  background-color: #35668F;
  color: white;
  padding-left: 35px !important;
  padding-right: 35px !important;
  text-align: center;
  border: none;
  transition: all 0.3s ease; }
  html.default body .btn.btn-export-csv:hover, html.default body .btn.btn-export-csv:focus {
    background: #0091C4; }
  html.default body .btn.btn-export-csv:active {
    background: #0091C4; }

html.default body .header-top-list {
  position: relative; }
  @media (max-width: 550px) {
    html.default body .header-top-list {
      padding-right: 90px; } }
  @media (max-width: 550px) {
    html.default body .header-top-list .view-more {
      position: absolute;
      right: 0;
      top: -5px;
      padding-right: 0;
      padding-left: 25px; }
      html.default body .header-top-list .view-more > .icon-eye {
        left: -12px; } }

@media (min-width: 10000px) {
  html.default body #sidebar ~ #body {
    margin-left: 375px !important; } }

#body {
  position: relative !important; }

#container-scroll {
  position: relative !important;
  overflow: hidden !important;
  min-height: 80vh; }
  @media (max-width: 640px) {
    #container-scroll {
      padding-left: 25px;
      padding-right: 0; } }
  @media (min-height: 650px) {
    #container-scroll {
      min-height: 125vh; } }
  @media (min-height: 700px) {
    #container-scroll {
      min-height: 100vh; } }
  @media (min-height: 750px) {
    #container-scroll {
      min-height: 95vh; } }
  @media (min-height: 800px) {
    #container-scroll {
      min-height: 90vh; } }

#sidebar-container .sidebar {
  overflow-y: auto !important; }

.batchOld {
  color: #de1927; }

table thead tr th.col-hidden {
  display: none; }

table thead tr.distinction th {
  font-size: 20px; }

table .distinction {
  color: #2EB398;
  font-size: 17px; }

.reports-header__filters_element {
  min-width: 110px;
  margin-right: 15px;
  display: inline-block;
  vertical-align: top; }
  @media (min-width: 375px) {
    .reports-header__filters_element {
      min-width: 100%;
      width: 100%;
      margin: 0;
      padding: 5px 15px; } }
  @media (min-width: 425px) {
    .reports-header__filters_element {
      min-width: 180px;
      width: auto; } }
  @media (min-width: 641px) {
    .reports-header__filters_element {
      padding: 5px 0;
      margin-right: 15px; } }
  @media (min-width: 1200px) {
    .reports-header__filters_element:nth-of-type(2) {
      min-width: 500px; } }
  .reports-header__filters_element:last-of-type {
    margin-right: 0; }
    @media (min-width: 1100px) {
      .reports-header__filters_element:last-of-type {
        float: right; } }
  .reports-header__filters_element .form-group.search-input-group {
    min-width: 100%;
    max-width: 201px;
    margin-top: 0;
    margin-bottom: 0; }
    @media (min-width: 425px) {
      .reports-header__filters_element .form-group.search-input-group {
        max-width: 160px; } }
    @media (min-width: 768px) {
      .reports-header__filters_element .form-group.search-input-group {
        max-width: 201px; } }
    .reports-header__filters_element .form-group.search-input-group .icomoon-search {
      top: 12px; }
    .reports-header__filters_element .form-group.search-input-group input {
      height: 45px !important; }
  .reports-header__filters_element .DateRangePickerInput {
    margin-right: 0; }
  .reports-header__filters_element .reports-csv-btn {
    margin-top: 0; }
    .reports-header__filters_element .reports-csv-btn button {
      margin-left: 0; }

.sign-in {
  background: #BCE4FE;
  height: 100vh;
  overflow: auto;
  overflow-x: hidden;
  display: flex;
  align-items: center; }

.card-box {
  width: 100%;
  border: 1px solid #ececec;
  margin-bottom: 10px;
  color: #353e4a;
  background-color: #fff; }
  .card-box .card-box {
    border: 0;
    margin: 0; }
  .card-box .site-list__item {
    margin-bottom: 3px;
    margin-right: 5px;
    display: inline-block; }
  .card-box .site-list__badge {
    padding: 3px 5px;
    border-radius: 2px;
    color: #FFFFFF;
    font-size: 14px;
    text-align: center; }
    .card-box .site-list__badge--blue {
      background-color: #35658fc2; }
    .card-box .site-list__badge--green {
      background-color: #37bb00; }
    .card-box .site-list__badge--red {
      background-color: #ff7a7b; }
    .card-box .site-list__badge--yellow {
      background-color: #f0ad4e; }
  .card-box.user-cardbox .card-box__details.card-box__details--rwd {
    overflow: hidden; }
  .card-box:hover {
    border-color: #35668F; }
    .card-box:hover .card-box__grid-col--actions {
      border-color: #ececec; }
  .card-box.open {
    border-color: #ececec; }
    .card-box.open:last-child {
      margin-bottom: 150px; }
    .card-box.open .card-box__grid-col--content {
      padding-top: 10px; }
    .card-box.open .card-box__grid-col--tile {
      padding-top: 0; }
    .card-box.open .card-box__grid-col:last-child {
      padding-right: 0; }
    .card-box.open .buttons-container {
      border-bottom: 1px solid #35668F; }
  .card-box .ReactCollapse--collapse {
    clear: both; }
  @media (min-width: 768px) {
    .card-box__grid {
      display: flex;
      align-items: stretch;
      flex-wrap: nowrap; } }
  .card-box__grid--two-col {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap; }
  .card-box__grid-col--content {
    flex: 4 1 0;
    padding: 10px 5px 10px 30px; }
    @media (min-width: 992px) {
      .card-box__grid-col--content {
        flex: 6 1 0; } }
    .card-box__grid-col--content--actions {
      padding: 5px 5px 5px 10px; }
      @media (min-width: 992px) {
        .card-box__grid-col--content--actions {
          flex: 3 1 0; } }
  .card-box__grid-col--tile {
    background-color: #bce4fe;
    flex: 1 1 0;
    width: 20%;
    float: left;
    min-height: 110px;
    display: flex;
    justify-content: center;
    color: #011424;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
    border-left: 1px solid white; }
    .card-box__grid-col--tile--two-items {
      width: 50%; }
    .card-box__grid-col--tile--full-width {
      width: 100%; }
    @media (min-width: 1200px) {
      .card-box__grid-col--tile {
        width: 110px;
        float: none; } }
    .card-box__grid-col--tile.active {
      background-color: #011424;
      color: #cfd2d5; }
    .card-box__grid-col--tile:hover {
      background-color: #011424;
      color: #cfd2d5; }
  .card-box__grid-col--actions {
    width: 110px;
    min-height: 110px;
    display: flex;
    justify-content: center;
    border-left: 1px solid #ececec;
    flex-wrap: wrap;
    align-items: center;
    text-align: center; }
    @media (min-width: 1300px) {
      .card-box__grid-col--actions {
        width: 220px; } }
    .card-box__grid-col--actions .card-box__actions-text {
      font-size: 16px;
      line-height: 14px;
      width: 100%;
      display: block; }
    .card-box__grid-col--actions .card-box__actions-value {
      font-size: 28px;
      line-height: 24px;
      width: 100%;
      display: block; }
    .card-box__grid-col--actions .card-box__actions {
      width: 100%;
      display: block; }
  .card-box__tile-text {
    align-self: center;
    font-size: 14px; }
    @media (min-width: 768px) {
      .card-box__tile-text {
        font-size: 16px; } }
  .card-box .text-strong {
    font-size: 18px;
    font-weight: bold; }
    @media (min-width: 768px) {
      .card-box .text-strong {
        font-size: 24px; } }
  .card-box__title {
    font-size: 18px;
    font-weight: bold;
    color: #353e4a;
    margin-bottom: 20px; }
    @media (min-width: 992px) {
      .card-box__title {
        font-size: 22px; } }
    @media (min-width: 1200px) {
      .card-box__title {
        font-size: 28px; } }
  @media (min-width: 768px) {
    .card-box__details--6-col > .card-box__detail {
      width: 16.66666666%; } }
  @media (min-width: 768px) {
    .card-box__details--5-col > .card-box__detail {
      width: 20%; } }
  @media (min-width: 768px) {
    .card-box__details--4-col > .card-box__detail {
      width: 25%; } }
  @media (min-width: 768px) {
    .card-box__details--3-col > .card-box__detail {
      width: 33.333333%; } }
  @media (min-width: 768px) {
    .card-box__details--2-col > .card-box__detail {
      width: 50%; } }
  .card-box__details {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px; }
  .card-box__detail {
    position: relative;
    min-width: 100px;
    padding: 5px 5px 5px 0;
    display: inline-block;
    width: 50%; }
    .card-box__detail.user-cardbox {
      width: 25%; }
    @media (min-width: 768px) {
      .card-box__detail {
        width: 20%; } }
    .card-box__detail--icon {
      position: relative;
      padding-right: 35px; }
  .card-box__detail-name {
    line-height: 15px;
    margin-bottom: 6px; }
    .card-box__detail-name--user {
      line-height: 15px; }
  .card-box__detail-value {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis; }
    .card-box__detail-value--hoverable:hover {
      cursor: default;
      position: absolute;
      width: unset;
      z-index: 999;
      background: white;
      overflow: unset;
      text-overflow: inherit;
      left: -3px;
      padding: 0 8px; }
    .card-box__detail-value--no-break {
      word-break: keep-all; }
  .card-box__round-icon {
    width: 30px;
    height: 30px;
    overflow: hidden;
    border-radius: 45px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    position: absolute;
    top: 5px;
    right: 5px; }
    .card-box__round-icon--unknown {
      background: #ea1f19; }
    .card-box__round-icon--success {
      background: #41b700; }
  .card-box__form {
    border-top: 1px solid #ececec;
    padding: 20px 10px;
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 1200px) {
      .card-box__form {
        flex-wrap: nowrap; } }
    .card-box__form > .form-group {
      padding-left: 10px;
      padding-right: 10px; }
    .card-box__form > .form-group-range {
      width: 100%;
      min-width: 215px; }
      @media (min-width: 992px) {
        .card-box__form > .form-group-range {
          width: 30%;
          max-width: 240px; } }
    .card-box__form > .form-group-multipler {
      width: 100%;
      min-width: 105px; }
      @media (min-width: 992px) {
        .card-box__form > .form-group-multipler {
          width: 15%;
          max-width: 150px; } }
    .card-box__form > .form-group-ndc {
      width: 100%;
      min-width: 165px; }
      @media (min-width: 992px) {
        .card-box__form > .form-group-ndc {
          width: 20%;
          max-width: 180px; } }
    .card-box__form > .form-group-comments {
      width: 100%;
      min-width: 215px; }
      @media (min-width: 992px) {
        .card-box__form > .form-group-comments {
          width: 30%;
          max-width: 240px; } }
    @media (min-width: 992px) {
      .card-box__form > .form-group-buttons {
        margin-top: 30px; } }
    .card-box__form .custom-select-range {
      margin-top: 15px;
      display: flex; }
      .card-box__form .custom-select-range > div {
        width: 50%;
        padding-right: 15px; }
        .card-box__form .custom-select-range > div:last-child {
          padding-right: 0; }
    .card-box__form--inline .form-group label {
      margin-right: 10px; }
  .card-box .product-item {
    padding-left: 40px;
    overflow: hidden;
    position: relative;
    margin-top: 15px;
    line-height: 16px; }
    .card-box .product-item .icon-clipboard {
      position: absolute;
      top: 0px;
      left: -13px; }
  .card-box .view-more {
    position: relative;
    padding-left: 35px;
    overflow: hidden;
    margin-top: 15px; }
    .card-box .view-more .icon-eye {
      position: absolute;
      left: -3px;
      top: 6px; }
  .card-box .property-undefined {
    color: #ea1f19; }
  .card-box .react-tabs__tab-list {
    display: none; }
  .card-box .btn-cancel {
    color: #99a0ab;
    font-size: 16px;
    font-weight: 700;
    outline: none;
    height: 45px;
    background-color: #ececec;
    margin-left: 15px; }
  .card-box .btn-add {
    color: #011424;
    text-transform: capitalize;
    text-decoration: underline;
    border: none; }
  @media (max-width: 768px) {
    .card-box .accumulation-detail {
      flex-direction: column-reverse; }
      .card-box .accumulation-detail .accumulation-adjustment {
        padding: 20px; }
      .card-box .accumulation-detail .accumulation-history {
        width: 100% !important; } }
  .card-box .accumulation-detail {
    border-top: 1px solid #ececec;
    display: flex; }
    .card-box .accumulation-detail .accumulation-history {
      padding: 20px;
      width: 100%; }
      .card-box .accumulation-detail .accumulation-history h2 {
        margin: 0 0 10px 0; }
      .card-box .accumulation-detail .accumulation-history .table-responsive {
        padding: 0; }
        .card-box .accumulation-detail .accumulation-history .table-responsive > table {
          margin: 0; }
  .card-box .accumulation-mark-drug {
    border-top: 1px solid #3fddff;
    padding: 20px 0; }
    .card-box .accumulation-mark-drug .mark-drug-buttons {
      display: flex;
      margin-top: 30px; }
  .card-box .form-manual-adjustment {
    display: flex;
    padding-right: 10px;
    flex-wrap: wrap; }
    @media (min-width: 992px) {
      .card-box .form-manual-adjustment {
        flex-wrap: nowrap; } }
    .card-box .form-manual-adjustment > .form-group {
      padding-right: 10px; }
      .card-box .form-manual-adjustment > .form-group:last-child {
        padding-right: 0; }
    .card-box .form-manual-adjustment .manual-adjustment-buttons {
      margin-top: 28px; }

@media (max-width: 990px) {
  .card-box__grid--accumulation .card-box__grid-col--tile {
    width: 33.33333%; }
    .card-box__grid--accumulation .card-box__grid-col--tile:nth-child(5), .card-box__grid--accumulation .card-box__grid-col--tile:nth-child(6) {
      width: 50%; } }

.new-invoice-form .form-group-inline > * {
  padding: 0; }

.product-order-details {
  margin-bottom: 10px; }

.product-orders-summary {
  font-size: 16px;
  font-weight: bold;
  text-align: right; }

.product-order-data {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  font-size: 16px; }
  .product-order-data:hover .product-order-reset {
    visibility: visible; }
  .product-order-data .product-order-type {
    min-width: 80px;
    text-align: center; }
  .product-order-data .product-order-multipler {
    min-width: 90px;
    text-align: right; }
  .product-order-data .product-order-reset {
    min-width: 47px;
    text-align: right;
    visibility: hidden; }
  .product-order-data .product-order-type-summary {
    min-width: 110px;
    text-align: right; }
  .product-order-data .product-order-number {
    min-width: 40px;
    max-width: 40px; }
    .product-order-data .product-order-number > input {
      width: 100%;
      text-align: right; }

.product-order-summary {
  font-weight: bold;
  text-align: right;
  font-size: 16px; }

.product-orders-actions {
  margin-top: 15px;
  text-align: right; }
  .product-orders-actions button {
    border-radius: 5px; }

@media (min-width: 640px) {
  .panel-header > div {
    float: left; }
  .panel-header .header-date-wrapper {
    float: right;
    margin-top: 0; } }

@media (max-width: 640px) {
  .panel-header .custom-navbar-tabs {
    margin: 10px 0; } }

@media (max-width: 990px) {
  .search-panel {
    flex-wrap: wrap !important;
    justify-content: space-between; }
    .search-panel .form-group {
      width: auto !important; }
    .search-panel .search-filter {
      width: 34% !important; }
    .search-panel .search-input {
      width: 100% !important; } }

@media (max-width: 990px) {
  .search-panel-provider .form-group {
    width: auto !important; }
  .search-panel-provider .search-filter {
    width: 47% !important; }
  .search-panel-provider .search-input {
    width: 100% !important; } }

@media (max-width: 640px) {
  .search-panel .form-group {
    width: auto !important; } }

.providers-wrapper {
  display: flex;
  flex-wrap: wrap; }

.card-box-provider {
  width: calc(50% - 20px); }
  .card-box-provider:nth-child(2n+1) {
    margin-right: 10px; }
  .card-box-provider:nth-child(2n) {
    mamrgin-left: 10px; }
  .card-box-provider .card-box__detail-name {
    font-size: 12px;
    color: #A2A2A2;
    font-weight: bold; }
  .card-box-provider .card-box__grid {
    width: 100%;
    height: 100%; }
    .card-box-provider .card-box__grid .card-box__detail {
      width: 33%; }
      .card-box-provider .card-box__grid .card-box__detail--two-cols {
        width: 66%; }
  .card-box-provider .card-box__grid-col:last-child {
    padding-right: 0; }
  .card-box-provider .card-box__grid-col--tile {
    border-left: none;
    border-top: 1px solid white; }
    .card-box-provider .card-box__grid-col--tile:first-child {
      border-top: none; }
  .card-box-provider .card-box__grid--horizontal-tiles {
    display: flex;
    flex-direction: column; }

.card-box__detail-value {
  font-size: 16px; }

.edit .glyphicon-eye-open {
  margin-right: 2px;
  margin-top: 2px; }

.top-searchbar.scrolled {
  padding-bottom: 20px; }

@media (min-width: 640px) {
  .top-searchbar .inputs-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: center; } }

.top-searchbar .search-input {
  width: 100%; }
  @media (min-width: 640px) {
    .top-searchbar .search-input {
      margin-right: 1.5%; } }

.top-searchbar .search-button {
  width: 100%;
  min-width: 120px; }
  @media (min-width: 640px) {
    .top-searchbar .search-button {
      max-width: 25%;
      margin-right: 1.5%;
      margin-left: 1.5%; } }
  .top-searchbar .search-button > button {
    margin-top: 14px; }
  .top-searchbar .search-button:last-child {
    margin-right: 0; }
  .top-searchbar .search-button .btn-success {
    padding-left: 10px !important;
    padding-right: 10px !important;
    text-align: center;
    border-radius: 5px;
    border: none;
    width: 100%;
    height: 45px; }

.top-searchbar .search-filter {
  width: 100%; }
  @media (min-width: 640px) {
    .top-searchbar .search-filter {
      margin-right: 1.5%;
      margin-left: 1.5%; } }
  @media (min-width: 1152px) {
    .top-searchbar .search-filter .Select {
      min-width: 250px; } }

@media (min-width: 1152px) {
  .top-searchbar--mapping .search-input-group, .top-searchbar--location .search-input-group {
    width: 40%; } }

@media (min-width: 1152px) {
  .top-searchbar--mapping .search-filter, .top-searchbar--location .search-filter {
    max-width: 20.5%; } }

.top-searchbar--mapping .inputs-wrapper, .top-searchbar--location .inputs-wrapper {
  justify-content: baseline;
  flex-wrap: wrap; }
  @media (min-width: 670px) {
    .top-searchbar--mapping .inputs-wrapper > div.form-group:first-child, .top-searchbar--location .inputs-wrapper > div.form-group:first-child {
      padding-right: 0;
      min-width: 180px; } }
  .top-searchbar--mapping .inputs-wrapper > div.form-group:nth-child(2), .top-searchbar--location .inputs-wrapper > div.form-group:nth-child(2) {
    width: 100% !important;
    padding: 0;
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 670px) {
      .top-searchbar--mapping .inputs-wrapper > div.form-group:nth-child(2), .top-searchbar--location .inputs-wrapper > div.form-group:nth-child(2) {
        width: auto !important;
        padding-left: 1.5%;
        margin-left: 0;
        margin-right: auto; } }
  .top-searchbar--mapping .inputs-wrapper > div.form-group:nth-child(3), .top-searchbar--location .inputs-wrapper > div.form-group:nth-child(3) {
    padding: 0;
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 670px) {
      .top-searchbar--mapping .inputs-wrapper > div.form-group:nth-child(3), .top-searchbar--location .inputs-wrapper > div.form-group:nth-child(3) {
        width: auto !important;
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1152px) {
      .top-searchbar--mapping .inputs-wrapper > div.form-group:nth-child(3), .top-searchbar--location .inputs-wrapper > div.form-group:nth-child(3) {
        margin-left: 1.5%;
        margin-right: 1.5%; } }

.top-searchbar--mapping .inputs-wrapper {
  flex-wrap: wrap; }
  @media (min-width: 1152px) {
    .top-searchbar--mapping .inputs-wrapper {
      flex-wrap: nowrap; } }
  @media (min-width: 640px) {
    .top-searchbar--mapping .inputs-wrapper > div:nth-child(2) {
      margin-right: 90px;
      min-width: 120px; } }
  @media (min-width: 640px) {
    .top-searchbar--mapping .inputs-wrapper > div:nth-child(3) {
      margin-left: 0;
      width: 290px !important; } }

.top-searchbar--location .inputs-wrapper {
  justify-content: baseline;
  flex-wrap: wrap; }
  @media (min-width: 1152px) {
    .top-searchbar--location .inputs-wrapper {
      justify-content: space-between;
      flex-wrap: nowrap; } }
  @media (min-width: 1152px) {
    .top-searchbar--location .inputs-wrapper > div:first-child {
      width: 40% !important; } }
  @media (min-width: 1152px) {
    .top-searchbar--location .inputs-wrapper > div:nth-child(2) {
      width: 20.5% !important;
      margin-right: 1.5%; } }

@media (min-width: 1152px) {
  .top-searchbar--providers .search-input {
    width: 40%; } }

@media (min-width: 1152px) {
  .top-searchbar--providers .search-filter {
    width: 14%; } }

.top-searchbar--providers button.add-provider {
  margin-right: 1.5%; }

.top-searchbar--providers .inputs-wrapper {
  justify-content: baseline;
  flex-wrap: wrap; }
  @media (min-width: 1152px) {
    .top-searchbar--providers .inputs-wrapper {
      justify-content: space-between;
      flex-wrap: nowrap; } }
  .top-searchbar--providers .inputs-wrapper > div.form-group:first-child {
    width: 100% !important;
    min-width: 100%; }
    @media (min-width: 670px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:first-child {
        width: 50% !important;
        min-width: 180px; } }
    @media (min-width: 1152px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:first-child {
        width: 40% !important; } }
  .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(2) {
    width: 100% !important;
    padding: 0;
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 670px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(2) {
        width: 50% !important;
        padding-left: 1.5%;
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1152px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(2) {
        width: 20.5% !important;
        margin-right: 1.5%; } }
  .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(3) {
    width: 100% !important;
    padding: 0;
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 670px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(3) {
        width: 50% !important;
        padding-right: 1.5%;
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1152px) {
      .top-searchbar--providers .inputs-wrapper > div.form-group:nth-child(3) {
        width: 20.5% !important;
        margin-left: 1.5%;
        margin-right: 1.5%; } }

@media (min-width: 1152px) {
  .top-searchbar--orders .search-input {
    width: 50%; } }

@media (min-width: 1152px) {
  .top-searchbar--orders .search-button:last-child {
    align-self: flex-end; } }

@media (min-width: 1152px) {
  .top-searchbar--orders .search-button:nth-last-child(2) {
    align-self: flex-end;
    margin-left: auto; } }

.top-searchbar--orders .inputs-wrapper {
  flex-wrap: wrap; }
  @media (min-width: 1152px) {
    .top-searchbar--orders .inputs-wrapper {
      flex-wrap: nowrap; } }
  .top-searchbar--orders .inputs-wrapper > .search-input {
    width: 100%; }
    @media (min-width: 670px) {
      .top-searchbar--orders .inputs-wrapper > .search-input {
        width: 50%; } }
    @media (min-width: 1152px) {
      .top-searchbar--orders .inputs-wrapper > .search-input {
        width: 40%; } }
  .top-searchbar--orders .inputs-wrapper > button {
    margin-right: 1.5%;
    margin-bottom: 15px; }
    @media (min-width: 670px) {
      .top-searchbar--orders .inputs-wrapper > button {
        margin-left: 1.5%;
        margin-bottom: 0; } }

@media (min-width: 1152px) {
  .top-searchbar--orders-past .search-button:last-child {
    align-self: flex-end;
    margin-left: auto; } }

.raw-claims-review-search .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by {
  margin-left: 0; }

.top-searchbar--accumulation .inputs-wrapper {
  flex-wrap: wrap; }
  .top-searchbar--accumulation .inputs-wrapper .search-input-group {
    width: 100%;
    max-width: none; }
    @media (min-width: 768px) {
      .top-searchbar--accumulation .inputs-wrapper .search-input-group {
        min-width: 375px;
        max-width: 375px; } }
    @media (min-width: 1200px) {
      .top-searchbar--accumulation .inputs-wrapper .search-input-group {
        width: 30%; } }
  .top-searchbar--accumulation .inputs-wrapper .search-filter-toggle {
    width: 140px;
    display: inline-block;
    margin-left: 0;
    margin-right: 1.5%; }
    @media (min-width: 1152px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-toggle {
        max-width: 20.5%;
        width: auto;
        margin-left: 1.5%; } }
    @media (min-width: 768px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-toggle {
        margin-left: 1.5%; } }
  .top-searchbar--accumulation .inputs-wrapper .search-filter {
    max-width: 150px; }
    @media (min-width: 1152px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter {
        max-width: 150px;
        max-width: 20.5%;
        width: auto;
        margin-left: 1.5%;
        margin-right: 1.5%; } }
  .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame {
    max-width: 180px; }
    @media (min-width: 992px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame {
        max-width: 130px; } }
    @media (min-width: 1300px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame {
        max-width: 180px; } }
    .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame .Select {
      min-width: 150px; }
      @media (min-width: 992px) {
        .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame .Select {
          min-width: 130px; } }
      @media (min-width: 1300px) {
        .top-searchbar--accumulation .inputs-wrapper .search-filter-time-frame .Select {
          min-width: 150px; } }
  .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by {
    max-width: 230px;
    margin-left: 0; }
    @media (min-width: 992px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by {
        margin-left: 1.5%; } }
    @media (min-width: 1300px) {
      .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by {
        max-width: 230px; } }
    .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by .Select {
      min-width: 230px; }
      @media (min-width: 1300px) {
        .top-searchbar--accumulation .inputs-wrapper .search-filter-order-by .Select {
          min-width: 230px; } }
  @media (max-width: 1200px) {
    .top-searchbar--accumulation .inputs-wrapper .btn.btn-export-csv {
      float: left;
      margin: 0; } }

.manual-invoice .search-button:last-child {
  min-width: 200px;
  margin-right: 0; }

.fix-top-height {
  height: 93px;
  display: none; }
  .fix-top-height.visible {
    display: block; }

.custom-navbar-tabs {
  border-radius: 5px;
  border: 1px solid #35668F;
  background-color: #ffffff;
  margin: 0;
  display: flex;
  flex-wrap: wrap; }
  .custom-navbar-tabs--item {
    flex: 1 1 auto; }
    .custom-navbar-tabs--item.active a {
      border-radius: 4px;
      background-color: #35668F !important;
      color: #fff !important; }
    .custom-navbar-tabs--item a {
      padding: 9px 22px !important;
      border-radius: 5px;
      background-color: #fff;
      color: #35668F !important;
      font-size: 16px;
      font-weight: 700; }
  .custom-navbar-tabs.big .custom-navbar-tabs--item a {
    padding: 9px 22px;
    font-size: 20px; }

.chart-white--blocks {
  margin-bottom: 50px;
  background-color: #fff;
  padding: 35px; }
  .chart-white--blocks table thead tr th {
    font-weight: normal;
    padding: 5px 5px 5px 14px; }
  .chart-white--blocks table tbody tr:nth-child(odd) {
    background-color: #f3f6f7; }
  .chart-white--blocks table tbody tr td {
    padding: 5px 5px 5px 14px;
    border-right: 1px solid #cdcdcd; }
    .chart-white--blocks table tbody tr td:last-child {
      border-right: 0; }
  .chart-white--blocks .legend-box {
    padding: 20px;
    margin-top: 20px;
    border: 1px solid; }
    .chart-white--blocks .legend-box--item:not(:last-of-type) {
      margin-bottom: 10px; }
    .chart-white--blocks .legend-box--item {
      display: flex;
      align-items: center; }
      .chart-white--blocks .legend-box--item span {
        min-width: 50px;
        height: 30px;
        display: inline-block;
        margin-right: 15px; }
  .chart-white--blocks .insight-chart-item {
    margin-bottom: 20px; }
  .chart-white--blocks h4 {
    font-size: 24px;
    font-weight: 400;
    margin: 0 0 10px; }
    .chart-white--blocks h4 button {
      height: 25px;
      border-radius: 8px;
      background-color: #35668F;
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      padding: 0px 12px;
      margin: 0 0px 5px 10px;
      border: 0;
      line-height: 1; }
  .chart-white--blocks .count-label {
    font-size: 72px;
    font-weight: 700;
    line-height: 1;
    text-align: right; }
  .chart-white--blocks .count-labels {
    line-height: 1.3;
    font-size: 16px; }
    .chart-white--blocks .count-labels .display-inline {
      display: inline-block;
      vertical-align: top; }
    .chart-white--blocks .count-labels .header {
      width: 80%; }
  .chart-white--blocks .order-graph-container {
    border-left: 1px solid #6eb0da; }
  .chart-white--blocks .header-label {
    padding-right: 0px; }
  .chart-white--blocks .header-dropdown {
    padding-left: 0px; }
  .chart-white--blocks .alerts-wrap {
    position: relative; }
    .chart-white--blocks .alerts-wrap:before {
      content: '';
      position: absolute;
      left: 16px;
      top: 0;
      bottom: 0;
      width: 2px;
      background-color: #d6eefe; }
    .chart-white--blocks .alerts-wrap .alerts-icon-block {
      width: 34px;
      height: 34px;
      text-align: center;
      border-radius: 50%;
      line-height: 35px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
      .chart-white--blocks .alerts-wrap .alerts-icon-block.blue {
        background-color: #45C6F3; }
      .chart-white--blocks .alerts-wrap .alerts-icon-block.red {
        background-color: #DE1927; }
    .chart-white--blocks .alerts-wrap .alerts-description {
      margin-bottom: 30px; }
      .chart-white--blocks .alerts-wrap .alerts-description h4 {
        display: flex;
        align-items: center; }
      .chart-white--blocks .alerts-wrap .alerts-description p {
        margin: 0 0 6px; }
        .chart-white--blocks .alerts-wrap .alerts-description p.date {
          color: #99A0AB;
          font-size: 15px;
          font-weight: 500; }

.chart-white--item {
  margin-bottom: 25px; }
  .chart-white--item:last-child {
    margin-bottom: 0; }

.chart-white--header {
  margin-bottom: 20px; }
  .chart-white--header h3 {
    margin: 4px 0 30px; }
  .chart-white--header h3 > a {
    color: #333333;
    cursor: pointer; }
  .chart-white--header .custom-navbar-tabs {
    margin-bottom: 10px; }
    @media (min-width: 990px) {
      .chart-white--header .custom-navbar-tabs {
        float: right; } }
  .chart-white--header .clear-input {
    position: relative;
    margin-bottom: 25px; }
    .chart-white--header .clear-input input {
      outline: 0;
      width: 100%;
      height: 45px;
      border-radius: 8px;
      border: 1px solid #CDCDCD;
      padding: 0 20px; }
    .chart-white--header .clear-input button {
      position: absolute;
      top: 8px;
      right: 8px;
      padding: 0;
      outline: 0; }
  .chart-white--header .export-btn {
    height: 35px;
    border-radius: 8px;
    background-color: #35668F;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    padding: 2px 18px;
    border: 0; }
    @media (min-width: 990px) {
      .chart-white--header .export-btn {
        float: right; } }
    .chart-white--header .export-btn span {
      margin-right: 10px; }

@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    transform: scale(0.4); }
  100% {
    opacity: 1;
    transform: scale(1); } }

.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px; }
  .ball-spin-fade-loader > div:nth-child(1) {
    top: 25px;
    left: 0;
    animation: ball-spin-fade-loader 1s -0.96s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(2) {
    top: 17.04545px;
    left: 17.04545px;
    animation: ball-spin-fade-loader 1s -0.84s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(3) {
    top: 0;
    left: 25px;
    animation: ball-spin-fade-loader 1s -0.72s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(4) {
    top: -17.04545px;
    left: 17.04545px;
    animation: ball-spin-fade-loader 1s -0.6s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(5) {
    top: -25px;
    left: 0;
    animation: ball-spin-fade-loader 1s -0.48s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(6) {
    top: -17.04545px;
    left: -17.04545px;
    animation: ball-spin-fade-loader 1s -0.36s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(7) {
    top: 0;
    left: -25px;
    animation: ball-spin-fade-loader 1s -0.24s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(8) {
    top: 17.04545px;
    left: -17.04545px;
    animation: ball-spin-fade-loader 1s -0.12s infinite linear; }
  .ball-spin-fade-loader > div {
    background-color: #35668F;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    animation-fill-mode: both;
    position: absolute; }

.viewOrderHistoryLink {
  margin-bottom: 0px;
  font-size: 18px;
  font-weight: normal;
  color: blue;
  text-decoration: underline;
  cursor: pointer; }

.sectionTableTitle {
  font-size: 20px; }

.blackBoldText {
  color: black;
  font-weight: bold; }

.orderHistoryTable {
  margin-bottom: 50px; }

.orderHistoryTable.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-clipper,
.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container,
.ag-theme-alpine .ag-layout-print .ag-center-cols-clipper,
.ag-theme-alpine .ag-layout-print .ag-center-cols-container {
  min-height: 0px; }

.historyLoader {
  position: absolute;
  left: calc(100% / 2); }

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: center;
  align-items: center; }

.popup-inner {
  position: relative;
  padding: 32px;
  width: 100%;
  max-width: 1050px;
  background-color: white; }

.popup-inner .close-btn {
  position: absolute;
  top: 16px;
  right: 16px; }

.popup-btn {
  background-color: white;
  border: white;
  margin-right: 10px; }

.modal-msg {
  position: fixed;
  z-index: 1100;
  background-color: rgba(0, 0, 0, 0.5); }

.modal-msg > *:nth-child(1) {
  background-color: white;
  padding: 30px 50px 14px 50px;
  border-radius: 15px; }

html.default body #sidebar {
  z-index: 100; }

html.default body div.container-open #fixed-top-searchbar.scrolled {
  margin-left: 375px !important; }
  @media (max-width: 1630px) {
    html.default body div.container-open #fixed-top-searchbar.scrolled {
      margin-left: 50px !important; } }

html.default body div.container-open #sidebar {
  z-index: 100; }
  @media (max-width: 1630px) {
    html.default body div.container-open #sidebar {
      z-index: 101; } }

@media (max-width: 1630px) {
  html.default body div.container-open #body {
    z-index: unset !important; } }
/*!
 * html2canvas 1.0.0-rc.7 <https://html2canvas.hertzen.com>
 * Copyright (c) 2020 Niklas von Hertzen <https://hertzen.com>
 * Released under MIT License
 */
(function (global, factory) {
     true ? module.exports = factory() :
    undefined;
}(this, function () { 'use strict';

    /*! *****************************************************************************
    Copyright (c) Microsoft Corporation. All rights reserved.
    Licensed under the Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain a copy of the
    License at http://www.apache.org/licenses/LICENSE-2.0

    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
    MERCHANTABLITY OR NON-INFRINGEMENT.

    See the Apache Version 2.0 License for specific language governing permissions
    and limitations under the License.
    ***************************************************************************** */
    /* global Reflect, Promise */

    var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };

    function __extends(d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    }

    var __assign = function() {
        __assign = Object.assign || function __assign(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
            }
            return t;
        };
        return __assign.apply(this, arguments);
    };

    function __awaiter(thisArg, _arguments, P, generator) {
        return new (P || (P = Promise))(function (resolve, reject) {
            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
            function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
            function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
            step((generator = generator.apply(thisArg, _arguments || [])).next());
        });
    }

    function __generator(thisArg, body) {
        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
        function verb(n) { return function (v) { return step([n, v]); }; }
        function step(op) {
            if (f) throw new TypeError("Generator is already executing.");
            while (_) try {
                if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
                if (y = 0, t) op = [op[0] & 2, t.value];
                switch (op[0]) {
                    case 0: case 1: t = op; break;
                    case 4: _.label++; return { value: op[1], done: false };
                    case 5: _.label++; y = op[1]; op = [0]; continue;
                    case 7: op = _.ops.pop(); _.trys.pop(); continue;
                    default:
                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                        if (t[2]) _.ops.pop();
                        _.trys.pop(); continue;
                }
                op = body.call(thisArg, _);
            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
        }
    }

    var Bounds = /** @class */ (function () {
        function Bounds(x, y, w, h) {
            this.left = x;
            this.top = y;
            this.width = w;
            this.height = h;
        }
        Bounds.prototype.add = function (x, y, w, h) {
            return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);
        };
        Bounds.fromClientRect = function (clientRect) {
            return new Bounds(clientRect.left, clientRect.top, clientRect.width, clientRect.height);
        };
        return Bounds;
    }());
    var parseBounds = function (node) {
        return Bounds.fromClientRect(node.getBoundingClientRect());
    };
    var parseDocumentSize = function (document) {
        var body = document.body;
        var documentElement = document.documentElement;
        if (!body || !documentElement) {
            throw new Error("Unable to get document size");
        }
        var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));
        var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));
        return new Bounds(0, 0, width, height);
    };

    /*
     * css-line-break 1.1.1 <https://github.com/niklasvh/css-line-break#readme>
     * Copyright (c) 2019 Niklas von Hertzen <https://hertzen.com>
     * Released under MIT License
     */
    var toCodePoints = function (str) {
        var codePoints = [];
        var i = 0;
        var length = str.length;
        while (i < length) {
            var value = str.charCodeAt(i++);
            if (value >= 0xd800 && value <= 0xdbff && i < length) {
                var extra = str.charCodeAt(i++);
                if ((extra & 0xfc00) === 0xdc00) {
                    codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);
                }
                else {
                    codePoints.push(value);
                    i--;
                }
            }
            else {
                codePoints.push(value);
            }
        }
        return codePoints;
    };
    var fromCodePoint = function () {
        var codePoints = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            codePoints[_i] = arguments[_i];
        }
        if (String.fromCodePoint) {
            return String.fromCodePoint.apply(String, codePoints);
        }
        var length = codePoints.length;
        if (!length) {
            return '';
        }
        var codeUnits = [];
        var index = -1;
        var result = '';
        while (++index < length) {
            var codePoint = codePoints[index];
            if (codePoint <= 0xffff) {
                codeUnits.push(codePoint);
            }
            else {
                codePoint -= 0x10000;
                codeUnits.push((codePoint >> 10) + 0xd800, codePoint % 0x400 + 0xdc00);
            }
            if (index + 1 === length || codeUnits.length > 0x4000) {
                result += String.fromCharCode.apply(String, codeUnits);
                codeUnits.length = 0;
            }
        }
        return result;
    };
    var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    // Use a lookup table to find the index.
    var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);
    for (var i = 0; i < chars.length; i++) {
        lookup[chars.charCodeAt(i)] = i;
    }
    var decode = function (base64) {
        var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;
        if (base64[base64.length - 1] === '=') {
            bufferLength--;
            if (base64[base64.length - 2] === '=') {
                bufferLength--;
            }
        }
        var buffer = typeof ArrayBuffer !== 'undefined' &&
            typeof Uint8Array !== 'undefined' &&
            typeof Uint8Array.prototype.slice !== 'undefined'
            ? new ArrayBuffer(bufferLength)
            : new Array(bufferLength);
        var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);
        for (i = 0; i < len; i += 4) {
            encoded1 = lookup[base64.charCodeAt(i)];
            encoded2 = lookup[base64.charCodeAt(i + 1)];
            encoded3 = lookup[base64.charCodeAt(i + 2)];
            encoded4 = lookup[base64.charCodeAt(i + 3)];
            bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
            bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
            bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);
        }
        return buffer;
    };
    var polyUint16Array = function (buffer) {
        var length = buffer.length;
        var bytes = [];
        for (var i = 0; i < length; i += 2) {
            bytes.push((buffer[i + 1] << 8) | buffer[i]);
        }
        return bytes;
    };
    var polyUint32Array = function (buffer) {
        var length = buffer.length;
        var bytes = [];
        for (var i = 0; i < length; i += 4) {
            bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);
        }
        return bytes;
    };

    /** Shift size for getting the index-2 table offset. */
    var UTRIE2_SHIFT_2 = 5;
    /** Shift size for getting the index-1 table offset. */
    var UTRIE2_SHIFT_1 = 6 + 5;
    /**
     * Shift size for shifting left the index array values.
     * Increases possible data size with 16-bit index values at the cost
     * of compactability.
     * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.
     */
    var UTRIE2_INDEX_SHIFT = 2;
    /**
     * Difference between the two shift sizes,
     * for getting an index-1 offset from an index-2 offset. 6=11-5
     */
    var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;
    /**
     * The part of the index-2 table for U+D800..U+DBFF stores values for
     * lead surrogate code _units_ not code _points_.
     * Values for lead surrogate code _points_ are indexed with this portion of the table.
     * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)
     */
    var UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;
    /** Number of entries in a data block. 32=0x20 */
    var UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;
    /** Mask for getting the lower bits for the in-data-block offset. */
    var UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;
    var UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;
    /** Count the lengths of both BMP pieces. 2080=0x820 */
    var UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;
    /**
     * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.
     * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.
     */
    var UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;
    var UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */
    /**
     * The index-1 table, only used for supplementary code points, at offset 2112=0x840.
     * Variable length, for code points up to highStart, where the last single-value range starts.
     * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.
     * (For 0x100000 supplementary code points U+10000..U+10ffff.)
     *
     * The part of the index-2 table for supplementary code points starts
     * after this index-1 table.
     *
     * Both the index-1 table and the following part of the index-2 table
     * are omitted completely if there is only BMP data.
     */
    var UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;
    /**
     * Number of index-1 entries for the BMP. 32=0x20
     * This part of the index-1 table is omitted from the serialized form.
     */
    var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;
    /** Number of entries in an index-2 block. 64=0x40 */
    var UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;
    /** Mask for getting the lower bits for the in-index-2-block offset. */
    var UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;
    var slice16 = function (view, start, end) {
        if (view.slice) {
            return view.slice(start, end);
        }
        return new Uint16Array(Array.prototype.slice.call(view, start, end));
    };
    var slice32 = function (view, start, end) {
        if (view.slice) {
            return view.slice(start, end);
        }
        return new Uint32Array(Array.prototype.slice.call(view, start, end));
    };
    var createTrieFromBase64 = function (base64) {
        var buffer = decode(base64);
        var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);
        var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);
        var headerLength = 24;
        var index = slice16(view16, headerLength / 2, view32[4] / 2);
        var data = view32[5] === 2
            ? slice16(view16, (headerLength + view32[4]) / 2)
            : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));
        return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);
    };
    var Trie = /** @class */ (function () {
        function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {
            this.initialValue = initialValue;
            this.errorValue = errorValue;
            this.highStart = highStart;
            this.highValueIndex = highValueIndex;
            this.index = index;
            this.data = data;
        }
        /**
         * Get the value for a code point as stored in the Trie.
         *
         * @param codePoint the code point
         * @return the value
         */
        Trie.prototype.get = function (codePoint) {
            var ix;
            if (codePoint >= 0) {
                if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {
                    // Ordinary BMP code point, excluding leading surrogates.
                    // BMP uses a single level lookup.  BMP index starts at offset 0 in the Trie2 index.
                    // 16 bit data is stored in the index array itself.
                    ix = this.index[codePoint >> UTRIE2_SHIFT_2];
                    ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
                    return this.data[ix];
                }
                if (codePoint <= 0xffff) {
                    // Lead Surrogate Code Point.  A Separate index section is stored for
                    // lead surrogate code units and code points.
                    //   The main index has the code unit data.
                    //   For this function, we need the code point data.
                    // Note: this expression could be refactored for slightly improved efficiency, but
                    //       surrogate code points will be so rare in practice that it's not worth it.
                    ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];
                    ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
                    return this.data[ix];
                }
                if (codePoint < this.highStart) {
                    // Supplemental code point, use two-level lookup.
                    ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);
                    ix = this.index[ix];
                    ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;
                    ix = this.index[ix];
                    ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
                    return this.data[ix];
                }
                if (codePoint <= 0x10ffff) {
                    return this.data[this.highValueIndex];
                }
            }
            // Fall through.  The code point is outside of the legal range of 0..0x10ffff.
            return this.errorValue;
        };
        return Trie;
    }());

    var base64 = 'KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA';

    /* @flow */
    var LETTER_NUMBER_MODIFIER = 50;
    // Non-tailorable Line Breaking Classes
    var BK = 1; //  Cause a line break (after)
    var CR = 2; //  Cause a line break (after), except between CR and LF
    var LF = 3; //  Cause a line break (after)
    var CM = 4; //  Prohibit a line break between the character and the preceding character
    var NL = 5; //  Cause a line break (after)
    var WJ = 7; //  Prohibit line breaks before and after
    var ZW = 8; //  Provide a break opportunity
    var GL = 9; //  Prohibit line breaks before and after
    var SP = 10; // Enable indirect line breaks
    var ZWJ = 11; // Prohibit line breaks within joiner sequences
    // Break Opportunities
    var B2 = 12; //  Provide a line break opportunity before and after the character
    var BA = 13; //  Generally provide a line break opportunity after the character
    var BB = 14; //  Generally provide a line break opportunity before the character
    var HY = 15; //  Provide a line break opportunity after the character, except in numeric context
    var CB = 16; //   Provide a line break opportunity contingent on additional information
    // Characters Prohibiting Certain Breaks
    var CL = 17; //  Prohibit line breaks before
    var CP = 18; //  Prohibit line breaks before
    var EX = 19; //  Prohibit line breaks before
    var IN = 20; //  Allow only indirect line breaks between pairs
    var NS = 21; //  Allow only indirect line breaks before
    var OP = 22; //  Prohibit line breaks after
    var QU = 23; //  Act like they are both opening and closing
    // Numeric Context
    var IS = 24; //  Prevent breaks after any and before numeric
    var NU = 25; //  Form numeric expressions for line breaking purposes
    var PO = 26; //  Do not break following a numeric expression
    var PR = 27; //  Do not break in front of a numeric expression
    var SY = 28; //  Prevent a break before; and allow a break after
    // Other Characters
    var AI = 29; //  Act like AL when the resolvedEAW is N; otherwise; act as ID
    var AL = 30; //  Are alphabetic characters or symbols that are used with alphabetic characters
    var CJ = 31; //  Treat as NS or ID for strict or normal breaking.
    var EB = 32; //  Do not break from following Emoji Modifier
    var EM = 33; //  Do not break from preceding Emoji Base
    var H2 = 34; //  Form Korean syllable blocks
    var H3 = 35; //  Form Korean syllable blocks
    var HL = 36; //  Do not break around a following hyphen; otherwise act as Alphabetic
    var ID = 37; //  Break before or after; except in some numeric context
    var JL = 38; //  Form Korean syllable blocks
    var JV = 39; //  Form Korean syllable blocks
    var JT = 40; //  Form Korean syllable blocks
    var RI = 41; //  Keep pairs together. For pairs; break before and after other classes
    var SA = 42; //  Provide a line break opportunity contingent on additional, language-specific context analysis
    var XX = 43; //  Have as yet unknown line breaking behavior or unassigned code positions
    var BREAK_MANDATORY = '!';
    var BREAK_NOT_ALLOWED = '×';
    var BREAK_ALLOWED = '÷';
    var UnicodeTrie = createTrieFromBase64(base64);
    var ALPHABETICS = [AL, HL];
    var HARD_LINE_BREAKS = [BK, CR, LF, NL];
    var SPACE = [SP, ZW];
    var PREFIX_POSTFIX = [PR, PO];
    var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);
    var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];
    var HYPHEN = [HY, BA];
    var codePointsToCharacterClasses = function (codePoints, lineBreak) {
        if (lineBreak === void 0) { lineBreak = 'strict'; }
        var types = [];
        var indicies = [];
        var categories = [];
        codePoints.forEach(function (codePoint, index) {
            var classType = UnicodeTrie.get(codePoint);
            if (classType > LETTER_NUMBER_MODIFIER) {
                categories.push(true);
                classType -= LETTER_NUMBER_MODIFIER;
            }
            else {
                categories.push(false);
            }
            if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {
                // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0
                if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {
                    indicies.push(index);
                    return types.push(CB);
                }
            }
            if (classType === CM || classType === ZWJ) {
                // LB10 Treat any remaining combining mark or ZWJ as AL.
                if (index === 0) {
                    indicies.push(index);
                    return types.push(AL);
                }
                // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of
                // the base character in all of the following rules. Treat ZWJ as if it were CM.
                var prev = types[index - 1];
                if (LINE_BREAKS.indexOf(prev) === -1) {
                    indicies.push(indicies[index - 1]);
                    return types.push(prev);
                }
                indicies.push(index);
                return types.push(AL);
            }
            indicies.push(index);
            if (classType === CJ) {
                return types.push(lineBreak === 'strict' ? NS : ID);
            }
            if (classType === SA) {
                return types.push(AL);
            }
            if (classType === AI) {
                return types.push(AL);
            }
            // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL
            // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised
            // to take into account the actual line breaking properties for these characters.
            if (classType === XX) {
                if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {
                    return types.push(ID);
                }
                else {
                    return types.push(AL);
                }
            }
            types.push(classType);
        });
        return [indicies, types, categories];
    };
    var isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {
        var current = classTypes[currentIndex];
        if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {
            var i = currentIndex;
            while (i <= classTypes.length) {
                i++;
                var next = classTypes[i];
                if (next === b) {
                    return true;
                }
                if (next !== SP) {
                    break;
                }
            }
        }
        if (current === SP) {
            var i = currentIndex;
            while (i > 0) {
                i--;
                var prev = classTypes[i];
                if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {
                    var n = currentIndex;
                    while (n <= classTypes.length) {
                        n++;
                        var next = classTypes[n];
                        if (next === b) {
                            return true;
                        }
                        if (next !== SP) {
                            break;
                        }
                    }
                }
                if (prev !== SP) {
                    break;
                }
            }
        }
        return false;
    };
    var previousNonSpaceClassType = function (currentIndex, classTypes) {
        var i = currentIndex;
        while (i >= 0) {
            var type = classTypes[i];
            if (type === SP) {
                i--;
            }
            else {
                return type;
            }
        }
        return 0;
    };
    var _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {
        if (indicies[index] === 0) {
            return BREAK_NOT_ALLOWED;
        }
        var currentIndex = index - 1;
        if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {
            return BREAK_NOT_ALLOWED;
        }
        var beforeIndex = currentIndex - 1;
        var afterIndex = currentIndex + 1;
        var current = classTypes[currentIndex];
        // LB4 Always break after hard line breaks.
        // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.
        var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;
        var next = classTypes[afterIndex];
        if (current === CR && next === LF) {
            return BREAK_NOT_ALLOWED;
        }
        if (HARD_LINE_BREAKS.indexOf(current) !== -1) {
            return BREAK_MANDATORY;
        }
        // LB6 Do not break before hard line breaks.
        if (HARD_LINE_BREAKS.indexOf(next) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB7 Do not break before spaces or zero width space.
        if (SPACE.indexOf(next) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.
        if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {
            return BREAK_ALLOWED;
        }
        // LB8a Do not break between a zero width joiner and an ideograph, emoji base or emoji modifier.
        if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ && (next === ID || next === EB || next === EM)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB11 Do not break before or after Word joiner and related characters.
        if (current === WJ || next === WJ) {
            return BREAK_NOT_ALLOWED;
        }
        // LB12 Do not break after NBSP and related characters.
        if (current === GL) {
            return BREAK_NOT_ALLOWED;
        }
        // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.
        if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {
            return BREAK_NOT_ALLOWED;
        }
        // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.
        if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB14 Do not break after ‘[’, even after spaces.
        if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {
            return BREAK_NOT_ALLOWED;
        }
        // LB15 Do not break within ‘”[’, even with intervening spaces.
        if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.
        if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB17 Do not break within ‘——’, even with intervening spaces.
        if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB18 Break after spaces.
        if (current === SP) {
            return BREAK_ALLOWED;
        }
        // LB19 Do not break before or after quotation marks, such as ‘ ” ’.
        if (current === QU || next === QU) {
            return BREAK_NOT_ALLOWED;
        }
        // LB20 Break before and after unresolved CB.
        if (next === CB || current === CB) {
            return BREAK_ALLOWED;
        }
        // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.
        if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {
            return BREAK_NOT_ALLOWED;
        }
        // LB21a Don't break after Hebrew + Hyphen.
        if (before === HL && HYPHEN.indexOf(current) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB21b Don’t break between Solidus and Hebrew letters.
        if (current === SY && next === HL) {
            return BREAK_NOT_ALLOWED;
        }
        // LB22 Do not break between two ellipses, or between letters, numbers or exclamations and ellipsis.
        if (next === IN && ALPHABETICS.concat(IN, EX, NU, ID, EB, EM).indexOf(current) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB23 Do not break between digits and letters.
        if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.
        if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||
            ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.
        if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||
            (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB25 Do not break between the following pairs of classes relevant to numbers:
        if (
        // (PR | PO) × ( OP | HY )? NU
        ([PR, PO].indexOf(current) !== -1 &&
            (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||
            // ( OP | HY ) × NU
            ([OP, HY].indexOf(current) !== -1 && next === NU) ||
            // NU ×	(NU | SY | IS)
            (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {
            return BREAK_NOT_ALLOWED;
        }
        // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)
        if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {
            var prevIndex = currentIndex;
            while (prevIndex >= 0) {
                var type = classTypes[prevIndex];
                if (type === NU) {
                    return BREAK_NOT_ALLOWED;
                }
                else if ([SY, IS].indexOf(type) !== -1) {
                    prevIndex--;
                }
                else {
                    break;
                }
            }
        }
        // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))
        if ([PR, PO].indexOf(next) !== -1) {
            var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;
            while (prevIndex >= 0) {
                var type = classTypes[prevIndex];
                if (type === NU) {
                    return BREAK_NOT_ALLOWED;
                }
                else if ([SY, IS].indexOf(type) !== -1) {
                    prevIndex--;
                }
                else {
                    break;
                }
            }
        }
        // LB26 Do not break a Korean syllable.
        if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||
            ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||
            ([JT, H3].indexOf(current) !== -1 && next === JT)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB27 Treat a Korean Syllable Block the same as ID.
        if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||
            (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB28 Do not break between alphabetics (“at”).
        if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).
        if (current === IS && ALPHABETICS.indexOf(next) !== -1) {
            return BREAK_NOT_ALLOWED;
        }
        // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.
        if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 && next === OP) ||
            (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {
            return BREAK_NOT_ALLOWED;
        }
        // LB30a Break between two regional indicator symbols if and only if there are an even number of regional
        // indicators preceding the position of the break.
        if (current === RI && next === RI) {
            var i = indicies[currentIndex];
            var count = 1;
            while (i > 0) {
                i--;
                if (classTypes[i] === RI) {
                    count++;
                }
                else {
                    break;
                }
            }
            if (count % 2 !== 0) {
                return BREAK_NOT_ALLOWED;
            }
        }
        // LB30b Do not break between an emoji base and an emoji modifier.
        if (current === EB && next === EM) {
            return BREAK_NOT_ALLOWED;
        }
        return BREAK_ALLOWED;
    };
    var cssFormattedClasses = function (codePoints, options) {
        if (!options) {
            options = { lineBreak: 'normal', wordBreak: 'normal' };
        }
        var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];
        if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {
            classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });
        }
        var forbiddenBreakpoints = options.wordBreak === 'keep-all'
            ? isLetterNumber.map(function (letterNumber, i) {
                return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;
            })
            : undefined;
        return [indicies, classTypes, forbiddenBreakpoints];
    };
    var Break = /** @class */ (function () {
        function Break(codePoints, lineBreak, start, end) {
            this.codePoints = codePoints;
            this.required = lineBreak === BREAK_MANDATORY;
            this.start = start;
            this.end = end;
        }
        Break.prototype.slice = function () {
            return fromCodePoint.apply(void 0, this.codePoints.slice(this.start, this.end));
        };
        return Break;
    }());
    var LineBreaker = function (str, options) {
        var codePoints = toCodePoints(str);
        var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];
        var length = codePoints.length;
        var lastEnd = 0;
        var nextIndex = 0;
        return {
            next: function () {
                if (nextIndex >= length) {
                    return { done: true, value: null };
                }
                var lineBreak = BREAK_NOT_ALLOWED;
                while (nextIndex < length &&
                    (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===
                        BREAK_NOT_ALLOWED) { }
                if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {
                    var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);
                    lastEnd = nextIndex;
                    return { value: value, done: false };
                }
                return { done: true, value: null };
            },
        };
    };

    // https://www.w3.org/TR/css-syntax-3
    var TokenType;
    (function (TokenType) {
        TokenType[TokenType["STRING_TOKEN"] = 0] = "STRING_TOKEN";
        TokenType[TokenType["BAD_STRING_TOKEN"] = 1] = "BAD_STRING_TOKEN";
        TokenType[TokenType["LEFT_PARENTHESIS_TOKEN"] = 2] = "LEFT_PARENTHESIS_TOKEN";
        TokenType[TokenType["RIGHT_PARENTHESIS_TOKEN"] = 3] = "RIGHT_PARENTHESIS_TOKEN";
        TokenType[TokenType["COMMA_TOKEN"] = 4] = "COMMA_TOKEN";
        TokenType[TokenType["HASH_TOKEN"] = 5] = "HASH_TOKEN";
        TokenType[TokenType["DELIM_TOKEN"] = 6] = "DELIM_TOKEN";
        TokenType[TokenType["AT_KEYWORD_TOKEN"] = 7] = "AT_KEYWORD_TOKEN";
        TokenType[TokenType["PREFIX_MATCH_TOKEN"] = 8] = "PREFIX_MATCH_TOKEN";
        TokenType[TokenType["DASH_MATCH_TOKEN"] = 9] = "DASH_MATCH_TOKEN";
        TokenType[TokenType["INCLUDE_MATCH_TOKEN"] = 10] = "INCLUDE_MATCH_TOKEN";
        TokenType[TokenType["LEFT_CURLY_BRACKET_TOKEN"] = 11] = "LEFT_CURLY_BRACKET_TOKEN";
        TokenType[TokenType["RIGHT_CURLY_BRACKET_TOKEN"] = 12] = "RIGHT_CURLY_BRACKET_TOKEN";
        TokenType[TokenType["SUFFIX_MATCH_TOKEN"] = 13] = "SUFFIX_MATCH_TOKEN";
        TokenType[TokenType["SUBSTRING_MATCH_TOKEN"] = 14] = "SUBSTRING_MATCH_TOKEN";
        TokenType[TokenType["DIMENSION_TOKEN"] = 15] = "DIMENSION_TOKEN";
        TokenType[TokenType["PERCENTAGE_TOKEN"] = 16] = "PERCENTAGE_TOKEN";
        TokenType[TokenType["NUMBER_TOKEN"] = 17] = "NUMBER_TOKEN";
        TokenType[TokenType["FUNCTION"] = 18] = "FUNCTION";
        TokenType[TokenType["FUNCTION_TOKEN"] = 19] = "FUNCTION_TOKEN";
        TokenType[TokenType["IDENT_TOKEN"] = 20] = "IDENT_TOKEN";
        TokenType[TokenType["COLUMN_TOKEN"] = 21] = "COLUMN_TOKEN";
        TokenType[TokenType["URL_TOKEN"] = 22] = "URL_TOKEN";
        TokenType[TokenType["BAD_URL_TOKEN"] = 23] = "BAD_URL_TOKEN";
        TokenType[TokenType["CDC_TOKEN"] = 24] = "CDC_TOKEN";
        TokenType[TokenType["CDO_TOKEN"] = 25] = "CDO_TOKEN";
        TokenType[TokenType["COLON_TOKEN"] = 26] = "COLON_TOKEN";
        TokenType[TokenType["SEMICOLON_TOKEN"] = 27] = "SEMICOLON_TOKEN";
        TokenType[TokenType["LEFT_SQUARE_BRACKET_TOKEN"] = 28] = "LEFT_SQUARE_BRACKET_TOKEN";
        TokenType[TokenType["RIGHT_SQUARE_BRACKET_TOKEN"] = 29] = "RIGHT_SQUARE_BRACKET_TOKEN";
        TokenType[TokenType["UNICODE_RANGE_TOKEN"] = 30] = "UNICODE_RANGE_TOKEN";
        TokenType[TokenType["WHITESPACE_TOKEN"] = 31] = "WHITESPACE_TOKEN";
        TokenType[TokenType["EOF_TOKEN"] = 32] = "EOF_TOKEN";
    })(TokenType || (TokenType = {}));
    var FLAG_UNRESTRICTED = 1 << 0;
    var FLAG_ID = 1 << 1;
    var FLAG_INTEGER = 1 << 2;
    var FLAG_NUMBER = 1 << 3;
    var LINE_FEED = 0x000a;
    var SOLIDUS = 0x002f;
    var REVERSE_SOLIDUS = 0x005c;
    var CHARACTER_TABULATION = 0x0009;
    var SPACE$1 = 0x0020;
    var QUOTATION_MARK = 0x0022;
    var EQUALS_SIGN = 0x003d;
    var NUMBER_SIGN = 0x0023;
    var DOLLAR_SIGN = 0x0024;
    var PERCENTAGE_SIGN = 0x0025;
    var APOSTROPHE = 0x0027;
    var LEFT_PARENTHESIS = 0x0028;
    var RIGHT_PARENTHESIS = 0x0029;
    var LOW_LINE = 0x005f;
    var HYPHEN_MINUS = 0x002d;
    var EXCLAMATION_MARK = 0x0021;
    var LESS_THAN_SIGN = 0x003c;
    var GREATER_THAN_SIGN = 0x003e;
    var COMMERCIAL_AT = 0x0040;
    var LEFT_SQUARE_BRACKET = 0x005b;
    var RIGHT_SQUARE_BRACKET = 0x005d;
    var CIRCUMFLEX_ACCENT = 0x003d;
    var LEFT_CURLY_BRACKET = 0x007b;
    var QUESTION_MARK = 0x003f;
    var RIGHT_CURLY_BRACKET = 0x007d;
    var VERTICAL_LINE = 0x007c;
    var TILDE = 0x007e;
    var CONTROL = 0x0080;
    var REPLACEMENT_CHARACTER = 0xfffd;
    var ASTERISK = 0x002a;
    var PLUS_SIGN = 0x002b;
    var COMMA = 0x002c;
    var COLON = 0x003a;
    var SEMICOLON = 0x003b;
    var FULL_STOP = 0x002e;
    var NULL = 0x0000;
    var BACKSPACE = 0x0008;
    var LINE_TABULATION = 0x000b;
    var SHIFT_OUT = 0x000e;
    var INFORMATION_SEPARATOR_ONE = 0x001f;
    var DELETE = 0x007f;
    var EOF = -1;
    var ZERO = 0x0030;
    var a = 0x0061;
    var e = 0x0065;
    var f = 0x0066;
    var u = 0x0075;
    var z = 0x007a;
    var A = 0x0041;
    var E = 0x0045;
    var F = 0x0046;
    var U = 0x0055;
    var Z = 0x005a;
    var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };
    var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };
    var isHex = function (codePoint) {
        return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);
    };
    var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };
    var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };
    var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };
    var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };
    var isWhiteSpace = function (codePoint) {
        return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE$1;
    };
    var isNameStartCodePoint = function (codePoint) {
        return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;
    };
    var isNameCodePoint = function (codePoint) {
        return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;
    };
    var isNonPrintableCodePoint = function (codePoint) {
        return ((codePoint >= NULL && codePoint <= BACKSPACE) ||
            codePoint === LINE_TABULATION ||
            (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||
            codePoint === DELETE);
    };
    var isValidEscape = function (c1, c2) {
        if (c1 !== REVERSE_SOLIDUS) {
            return false;
        }
        return c2 !== LINE_FEED;
    };
    var isIdentifierStart = function (c1, c2, c3) {
        if (c1 === HYPHEN_MINUS) {
            return isNameStartCodePoint(c2) || isValidEscape(c2, c3);
        }
        else if (isNameStartCodePoint(c1)) {
            return true;
        }
        else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {
            return true;
        }
        return false;
    };
    var isNumberStart = function (c1, c2, c3) {
        if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {
            if (isDigit(c2)) {
                return true;
            }
            return c2 === FULL_STOP && isDigit(c3);
        }
        if (c1 === FULL_STOP) {
            return isDigit(c2);
        }
        return isDigit(c1);
    };
    var stringToNumber = function (codePoints) {
        var c = 0;
        var sign = 1;
        if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {
            if (codePoints[c] === HYPHEN_MINUS) {
                sign = -1;
            }
            c++;
        }
        var integers = [];
        while (isDigit(codePoints[c])) {
            integers.push(codePoints[c++]);
        }
        var int = integers.length ? parseInt(fromCodePoint.apply(void 0, integers), 10) : 0;
        if (codePoints[c] === FULL_STOP) {
            c++;
        }
        var fraction = [];
        while (isDigit(codePoints[c])) {
            fraction.push(codePoints[c++]);
        }
        var fracd = fraction.length;
        var frac = fracd ? parseInt(fromCodePoint.apply(void 0, fraction), 10) : 0;
        if (codePoints[c] === E || codePoints[c] === e) {
            c++;
        }
        var expsign = 1;
        if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {
            if (codePoints[c] === HYPHEN_MINUS) {
                expsign = -1;
            }
            c++;
        }
        var exponent = [];
        while (isDigit(codePoints[c])) {
            exponent.push(codePoints[c++]);
        }
        var exp = exponent.length ? parseInt(fromCodePoint.apply(void 0, exponent), 10) : 0;
        return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);
    };
    var LEFT_PARENTHESIS_TOKEN = {
        type: TokenType.LEFT_PARENTHESIS_TOKEN
    };
    var RIGHT_PARENTHESIS_TOKEN = {
        type: TokenType.RIGHT_PARENTHESIS_TOKEN
    };
    var COMMA_TOKEN = { type: TokenType.COMMA_TOKEN };
    var SUFFIX_MATCH_TOKEN = { type: TokenType.SUFFIX_MATCH_TOKEN };
    var PREFIX_MATCH_TOKEN = { type: TokenType.PREFIX_MATCH_TOKEN };
    var COLUMN_TOKEN = { type: TokenType.COLUMN_TOKEN };
    var DASH_MATCH_TOKEN = { type: TokenType.DASH_MATCH_TOKEN };
    var INCLUDE_MATCH_TOKEN = { type: TokenType.INCLUDE_MATCH_TOKEN };
    var LEFT_CURLY_BRACKET_TOKEN = {
        type: TokenType.LEFT_CURLY_BRACKET_TOKEN
    };
    var RIGHT_CURLY_BRACKET_TOKEN = {
        type: TokenType.RIGHT_CURLY_BRACKET_TOKEN
    };
    var SUBSTRING_MATCH_TOKEN = { type: TokenType.SUBSTRING_MATCH_TOKEN };
    var BAD_URL_TOKEN = { type: TokenType.BAD_URL_TOKEN };
    var BAD_STRING_TOKEN = { type: TokenType.BAD_STRING_TOKEN };
    var CDO_TOKEN = { type: TokenType.CDO_TOKEN };
    var CDC_TOKEN = { type: TokenType.CDC_TOKEN };
    var COLON_TOKEN = { type: TokenType.COLON_TOKEN };
    var SEMICOLON_TOKEN = { type: TokenType.SEMICOLON_TOKEN };
    var LEFT_SQUARE_BRACKET_TOKEN = {
        type: TokenType.LEFT_SQUARE_BRACKET_TOKEN
    };
    var RIGHT_SQUARE_BRACKET_TOKEN = {
        type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN
    };
    var WHITESPACE_TOKEN = { type: TokenType.WHITESPACE_TOKEN };
    var EOF_TOKEN = { type: TokenType.EOF_TOKEN };
    var Tokenizer = /** @class */ (function () {
        function Tokenizer() {
            this._value = [];
        }
        Tokenizer.prototype.write = function (chunk) {
            this._value = this._value.concat(toCodePoints(chunk));
        };
        Tokenizer.prototype.read = function () {
            var tokens = [];
            var token = this.consumeToken();
            while (token !== EOF_TOKEN) {
                tokens.push(token);
                token = this.consumeToken();
            }
            return tokens;
        };
        Tokenizer.prototype.consumeToken = function () {
            var codePoint = this.consumeCodePoint();
            switch (codePoint) {
                case QUOTATION_MARK:
                    return this.consumeStringToken(QUOTATION_MARK);
                case NUMBER_SIGN:
                    var c1 = this.peekCodePoint(0);
                    var c2 = this.peekCodePoint(1);
                    var c3 = this.peekCodePoint(2);
                    if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {
                        var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;
                        var value = this.consumeName();
                        return { type: TokenType.HASH_TOKEN, value: value, flags: flags };
                    }
                    break;
                case DOLLAR_SIGN:
                    if (this.peekCodePoint(0) === EQUALS_SIGN) {
                        this.consumeCodePoint();
                        return SUFFIX_MATCH_TOKEN;
                    }
                    break;
                case APOSTROPHE:
                    return this.consumeStringToken(APOSTROPHE);
                case LEFT_PARENTHESIS:
                    return LEFT_PARENTHESIS_TOKEN;
                case RIGHT_PARENTHESIS:
                    return RIGHT_PARENTHESIS_TOKEN;
                case ASTERISK:
                    if (this.peekCodePoint(0) === EQUALS_SIGN) {
                        this.consumeCodePoint();
                        return SUBSTRING_MATCH_TOKEN;
                    }
                    break;
                case PLUS_SIGN:
                    if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {
                        this.reconsumeCodePoint(codePoint);
                        return this.consumeNumericToken();
                    }
                    break;
                case COMMA:
                    return COMMA_TOKEN;
                case HYPHEN_MINUS:
                    var e1 = codePoint;
                    var e2 = this.peekCodePoint(0);
                    var e3 = this.peekCodePoint(1);
                    if (isNumberStart(e1, e2, e3)) {
                        this.reconsumeCodePoint(codePoint);
                        return this.consumeNumericToken();
                    }
                    if (isIdentifierStart(e1, e2, e3)) {
                        this.reconsumeCodePoint(codePoint);
                        return this.consumeIdentLikeToken();
                    }
                    if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {
                        this.consumeCodePoint();
                        this.consumeCodePoint();
                        return CDC_TOKEN;
                    }
                    break;
                case FULL_STOP:
                    if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {
                        this.reconsumeCodePoint(codePoint);
                        return this.consumeNumericToken();
                    }
                    break;
                case SOLIDUS:
                    if (this.peekCodePoint(0) === ASTERISK) {
                        this.consumeCodePoint();
                        while (true) {
                            var c = this.consumeCodePoint();
                            if (c === ASTERISK) {
                                c = this.consumeCodePoint();
                                if (c === SOLIDUS) {
                                    return this.consumeToken();
                                }
                            }
                            if (c === EOF) {
                                return this.consumeToken();
                            }
                        }
                    }
                    break;
                case COLON:
                    return COLON_TOKEN;
                case SEMICOLON:
                    return SEMICOLON_TOKEN;
                case LESS_THAN_SIGN:
                    if (this.peekCodePoint(0) === EXCLAMATION_MARK &&
                        this.peekCodePoint(1) === HYPHEN_MINUS &&
                        this.peekCodePoint(2) === HYPHEN_MINUS) {
                        this.consumeCodePoint();
                        this.consumeCodePoint();
                        return CDO_TOKEN;
                    }
                    break;
                case COMMERCIAL_AT:
                    var a1 = this.peekCodePoint(0);
                    var a2 = this.peekCodePoint(1);
                    var a3 = this.peekCodePoint(2);
                    if (isIdentifierStart(a1, a2, a3)) {
                        var value = this.consumeName();
                        return { type: TokenType.AT_KEYWORD_TOKEN, value: value };
                    }
                    break;
                case LEFT_SQUARE_BRACKET:
                    return LEFT_SQUARE_BRACKET_TOKEN;
                case REVERSE_SOLIDUS:
                    if (isValidEscape(codePoint, this.peekCodePoint(0))) {
                        this.reconsumeCodePoint(codePoint);
                        return this.consumeIdentLikeToken();
                    }
                    break;
                case RIGHT_SQUARE_BRACKET:
                    return RIGHT_SQUARE_BRACKET_TOKEN;
                case CIRCUMFLEX_ACCENT:
                    if (this.peekCodePoint(0) === EQUALS_SIGN) {
                        this.consumeCodePoint();
                        return PREFIX_MATCH_TOKEN;
                    }
                    break;
                case LEFT_CURLY_BRACKET:
                    return LEFT_CURLY_BRACKET_TOKEN;
                case RIGHT_CURLY_BRACKET:
                    return RIGHT_CURLY_BRACKET_TOKEN;
                case u:
                case U:
                    var u1 = this.peekCodePoint(0);
                    var u2 = this.peekCodePoint(1);
                    if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {
                        this.consumeCodePoint();
                        this.consumeUnicodeRangeToken();
                    }
                    this.reconsumeCodePoint(codePoint);
                    return this.consumeIdentLikeToken();
                case VERTICAL_LINE:
                    if (this.peekCodePoint(0) === EQUALS_SIGN) {
                        this.consumeCodePoint();
                        return DASH_MATCH_TOKEN;
                    }
                    if (this.peekCodePoint(0) === VERTICAL_LINE) {
                        this.consumeCodePoint();
                        return COLUMN_TOKEN;
                    }
                    break;
                case TILDE:
                    if (this.peekCodePoint(0) === EQUALS_SIGN) {
                        this.consumeCodePoint();
                        return INCLUDE_MATCH_TOKEN;
                    }
                    break;
                case EOF:
                    return EOF_TOKEN;
            }
            if (isWhiteSpace(codePoint)) {
                this.consumeWhiteSpace();
                return WHITESPACE_TOKEN;
            }
            if (isDigit(codePoint)) {
                this.reconsumeCodePoint(codePoint);
                return this.consumeNumericToken();
            }
            if (isNameStartCodePoint(codePoint)) {
                this.reconsumeCodePoint(codePoint);
                return this.consumeIdentLikeToken();
            }
            return { type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint) };
        };
        Tokenizer.prototype.consumeCodePoint = function () {
            var value = this._value.shift();
            return typeof value === 'undefined' ? -1 : value;
        };
        Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {
            this._value.unshift(codePoint);
        };
        Tokenizer.prototype.peekCodePoint = function (delta) {
            if (delta >= this._value.length) {
                return -1;
            }
            return this._value[delta];
        };
        Tokenizer.prototype.consumeUnicodeRangeToken = function () {
            var digits = [];
            var codePoint = this.consumeCodePoint();
            while (isHex(codePoint) && digits.length < 6) {
                digits.push(codePoint);
                codePoint = this.consumeCodePoint();
            }
            var questionMarks = false;
            while (codePoint === QUESTION_MARK && digits.length < 6) {
                digits.push(codePoint);
                codePoint = this.consumeCodePoint();
                questionMarks = true;
            }
            if (questionMarks) {
                var start_1 = parseInt(fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);
                var end = parseInt(fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);
                return { type: TokenType.UNICODE_RANGE_TOKEN, start: start_1, end: end };
            }
            var start = parseInt(fromCodePoint.apply(void 0, digits), 16);
            if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {
                this.consumeCodePoint();
                codePoint = this.consumeCodePoint();
                var endDigits = [];
                while (isHex(codePoint) && endDigits.length < 6) {
                    endDigits.push(codePoint);
                    codePoint = this.consumeCodePoint();
                }
                var end = parseInt(fromCodePoint.apply(void 0, endDigits), 16);
                return { type: TokenType.UNICODE_RANGE_TOKEN, start: start, end: end };
            }
            else {
                return { type: TokenType.UNICODE_RANGE_TOKEN, start: start, end: start };
            }
        };
        Tokenizer.prototype.consumeIdentLikeToken = function () {
            var value = this.consumeName();
            if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {
                this.consumeCodePoint();
                return this.consumeUrlToken();
            }
            else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {
                this.consumeCodePoint();
                return { type: TokenType.FUNCTION_TOKEN, value: value };
            }
            return { type: TokenType.IDENT_TOKEN, value: value };
        };
        Tokenizer.prototype.consumeUrlToken = function () {
            var value = [];
            this.consumeWhiteSpace();
            if (this.peekCodePoint(0) === EOF) {
                return { type: TokenType.URL_TOKEN, value: '' };
            }
            var next = this.peekCodePoint(0);
            if (next === APOSTROPHE || next === QUOTATION_MARK) {
                var stringToken = this.consumeStringToken(this.consumeCodePoint());
                if (stringToken.type === TokenType.STRING_TOKEN) {
                    this.consumeWhiteSpace();
                    if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
                        this.consumeCodePoint();
                        return { type: TokenType.URL_TOKEN, value: stringToken.value };
                    }
                }
                this.consumeBadUrlRemnants();
                return BAD_URL_TOKEN;
            }
            while (true) {
                var codePoint = this.consumeCodePoint();
                if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {
                    return { type: TokenType.URL_TOKEN, value: fromCodePoint.apply(void 0, value) };
                }
                else if (isWhiteSpace(codePoint)) {
                    this.consumeWhiteSpace();
                    if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
                        this.consumeCodePoint();
                        return { type: TokenType.URL_TOKEN, value: fromCodePoint.apply(void 0, value) };
                    }
                    this.consumeBadUrlRemnants();
                    return BAD_URL_TOKEN;
                }
                else if (codePoint === QUOTATION_MARK ||
                    codePoint === APOSTROPHE ||
                    codePoint === LEFT_PARENTHESIS ||
                    isNonPrintableCodePoint(codePoint)) {
                    this.consumeBadUrlRemnants();
                    return BAD_URL_TOKEN;
                }
                else if (codePoint === REVERSE_SOLIDUS) {
                    if (isValidEscape(codePoint, this.peekCodePoint(0))) {
                        value.push(this.consumeEscapedCodePoint());
                    }
                    else {
                        this.consumeBadUrlRemnants();
                        return BAD_URL_TOKEN;
                    }
                }
                else {
                    value.push(codePoint);
                }
            }
        };
        Tokenizer.prototype.consumeWhiteSpace = function () {
            while (isWhiteSpace(this.peekCodePoint(0))) {
                this.consumeCodePoint();
            }
        };
        Tokenizer.prototype.consumeBadUrlRemnants = function () {
            while (true) {
                var codePoint = this.consumeCodePoint();
                if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {
                    return;
                }
                if (isValidEscape(codePoint, this.peekCodePoint(0))) {
                    this.consumeEscapedCodePoint();
                }
            }
        };
        Tokenizer.prototype.consumeStringSlice = function (count) {
            var SLICE_STACK_SIZE = 60000;
            var value = '';
            while (count > 0) {
                var amount = Math.min(SLICE_STACK_SIZE, count);
                value += fromCodePoint.apply(void 0, this._value.splice(0, amount));
                count -= amount;
            }
            this._value.shift();
            return value;
        };
        Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {
            var value = '';
            var i = 0;
            do {
                var codePoint = this._value[i];
                if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {
                    value += this.consumeStringSlice(i);
                    return { type: TokenType.STRING_TOKEN, value: value };
                }
                if (codePoint === LINE_FEED) {
                    this._value.splice(0, i);
                    return BAD_STRING_TOKEN;
                }
                if (codePoint === REVERSE_SOLIDUS) {
                    var next = this._value[i + 1];
                    if (next !== EOF && next !== undefined) {
                        if (next === LINE_FEED) {
                            value += this.consumeStringSlice(i);
                            i = -1;
                            this._value.shift();
                        }
                        else if (isValidEscape(codePoint, next)) {
                            value += this.consumeStringSlice(i);
                            value += fromCodePoint(this.consumeEscapedCodePoint());
                            i = -1;
                        }
                    }
                }
                i++;
            } while (true);
        };
        Tokenizer.prototype.consumeNumber = function () {
            var repr = [];
            var type = FLAG_INTEGER;
            var c1 = this.peekCodePoint(0);
            if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {
                repr.push(this.consumeCodePoint());
            }
            while (isDigit(this.peekCodePoint(0))) {
                repr.push(this.consumeCodePoint());
            }
            c1 = this.peekCodePoint(0);
            var c2 = this.peekCodePoint(1);
            if (c1 === FULL_STOP && isDigit(c2)) {
                repr.push(this.consumeCodePoint(), this.consumeCodePoint());
                type = FLAG_NUMBER;
                while (isDigit(this.peekCodePoint(0))) {
                    repr.push(this.consumeCodePoint());
                }
            }
            c1 = this.peekCodePoint(0);
            c2 = this.peekCodePoint(1);
            var c3 = this.peekCodePoint(2);
            if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {
                repr.push(this.consumeCodePoint(), this.consumeCodePoint());
                type = FLAG_NUMBER;
                while (isDigit(this.peekCodePoint(0))) {
                    repr.push(this.consumeCodePoint());
                }
            }
            return [stringToNumber(repr), type];
        };
        Tokenizer.prototype.consumeNumericToken = function () {
            var _a = this.consumeNumber(), number = _a[0], flags = _a[1];
            var c1 = this.peekCodePoint(0);
            var c2 = this.peekCodePoint(1);
            var c3 = this.peekCodePoint(2);
            if (isIdentifierStart(c1, c2, c3)) {
                var unit = this.consumeName();
                return { type: TokenType.DIMENSION_TOKEN, number: number, flags: flags, unit: unit };
            }
            if (c1 === PERCENTAGE_SIGN) {
                this.consumeCodePoint();
                return { type: TokenType.PERCENTAGE_TOKEN, number: number, flags: flags };
            }
            return { type: TokenType.NUMBER_TOKEN, number: number, flags: flags };
        };
        Tokenizer.prototype.consumeEscapedCodePoint = function () {
            var codePoint = this.consumeCodePoint();
            if (isHex(codePoint)) {
                var hex = fromCodePoint(codePoint);
                while (isHex(this.peekCodePoint(0)) && hex.length < 6) {
                    hex += fromCodePoint(this.consumeCodePoint());
                }
                if (isWhiteSpace(this.peekCodePoint(0))) {
                    this.consumeCodePoint();
                }
                var hexCodePoint = parseInt(hex, 16);
                if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {
                    return REPLACEMENT_CHARACTER;
                }
                return hexCodePoint;
            }
            if (codePoint === EOF) {
                return REPLACEMENT_CHARACTER;
            }
            return codePoint;
        };
        Tokenizer.prototype.consumeName = function () {
            var result = '';
            while (true) {
                var codePoint = this.consumeCodePoint();
                if (isNameCodePoint(codePoint)) {
                    result += fromCodePoint(codePoint);
                }
                else if (isValidEscape(codePoint, this.peekCodePoint(0))) {
                    result += fromCodePoint(this.consumeEscapedCodePoint());
                }
                else {
                    this.reconsumeCodePoint(codePoint);
                    return result;
                }
            }
        };
        return Tokenizer;
    }());

    var Parser = /** @class */ (function () {
        function Parser(tokens) {
            this._tokens = tokens;
        }
        Parser.create = function (value) {
            var tokenizer = new Tokenizer();
            tokenizer.write(value);
            return new Parser(tokenizer.read());
        };
        Parser.parseValue = function (value) {
            return Parser.create(value).parseComponentValue();
        };
        Parser.parseValues = function (value) {
            return Parser.create(value).parseComponentValues();
        };
        Parser.prototype.parseComponentValue = function () {
            var token = this.consumeToken();
            while (token.type === TokenType.WHITESPACE_TOKEN) {
                token = this.consumeToken();
            }
            if (token.type === TokenType.EOF_TOKEN) {
                throw new SyntaxError("Error parsing CSS component value, unexpected EOF");
            }
            this.reconsumeToken(token);
            var value = this.consumeComponentValue();
            do {
                token = this.consumeToken();
            } while (token.type === TokenType.WHITESPACE_TOKEN);
            if (token.type === TokenType.EOF_TOKEN) {
                return value;
            }
            throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one");
        };
        Parser.prototype.parseComponentValues = function () {
            var values = [];
            while (true) {
                var value = this.consumeComponentValue();
                if (value.type === TokenType.EOF_TOKEN) {
                    return values;
                }
                values.push(value);
                values.push();
            }
        };
        Parser.prototype.consumeComponentValue = function () {
            var token = this.consumeToken();
            switch (token.type) {
                case TokenType.LEFT_CURLY_BRACKET_TOKEN:
                case TokenType.LEFT_SQUARE_BRACKET_TOKEN:
                case TokenType.LEFT_PARENTHESIS_TOKEN:
                    return this.consumeSimpleBlock(token.type);
                case TokenType.FUNCTION_TOKEN:
                    return this.consumeFunction(token);
            }
            return token;
        };
        Parser.prototype.consumeSimpleBlock = function (type) {
            var block = { type: type, values: [] };
            var token = this.consumeToken();
            while (true) {
                if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {
                    return block;
                }
                this.reconsumeToken(token);
                block.values.push(this.consumeComponentValue());
                token = this.consumeToken();
            }
        };
        Parser.prototype.consumeFunction = function (functionToken) {
            var cssFunction = {
                name: functionToken.value,
                values: [],
                type: TokenType.FUNCTION
            };
            while (true) {
                var token = this.consumeToken();
                if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {
                    return cssFunction;
                }
                this.reconsumeToken(token);
                cssFunction.values.push(this.consumeComponentValue());
            }
        };
        Parser.prototype.consumeToken = function () {
            var token = this._tokens.shift();
            return typeof token === 'undefined' ? EOF_TOKEN : token;
        };
        Parser.prototype.reconsumeToken = function (token) {
            this._tokens.unshift(token);
        };
        return Parser;
    }());
    var isDimensionToken = function (token) { return token.type === TokenType.DIMENSION_TOKEN; };
    var isNumberToken = function (token) { return token.type === TokenType.NUMBER_TOKEN; };
    var isIdentToken = function (token) { return token.type === TokenType.IDENT_TOKEN; };
    var isStringToken = function (token) { return token.type === TokenType.STRING_TOKEN; };
    var isIdentWithValue = function (token, value) {
        return isIdentToken(token) && token.value === value;
    };
    var nonWhiteSpace = function (token) { return token.type !== TokenType.WHITESPACE_TOKEN; };
    var nonFunctionArgSeparator = function (token) {
        return token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;
    };
    var parseFunctionArgs = function (tokens) {
        var args = [];
        var arg = [];
        tokens.forEach(function (token) {
            if (token.type === TokenType.COMMA_TOKEN) {
                if (arg.length === 0) {
                    throw new Error("Error parsing function args, zero tokens for arg");
                }
                args.push(arg);
                arg = [];
                return;
            }
            if (token.type !== TokenType.WHITESPACE_TOKEN) {
                arg.push(token);
            }
        });
        if (arg.length) {
            args.push(arg);
        }
        return args;
    };
    var isEndingTokenFor = function (token, type) {
        if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {
            return true;
        }
        if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {
            return true;
        }
        return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;
    };

    var isLength = function (token) {
        return token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;
    };

    var isLengthPercentage = function (token) {
        return token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);
    };
    var parseLengthPercentageTuple = function (tokens) {
        return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];
    };
    var ZERO_LENGTH = {
        type: TokenType.NUMBER_TOKEN,
        number: 0,
        flags: FLAG_INTEGER
    };
    var FIFTY_PERCENT = {
        type: TokenType.PERCENTAGE_TOKEN,
        number: 50,
        flags: FLAG_INTEGER
    };
    var HUNDRED_PERCENT = {
        type: TokenType.PERCENTAGE_TOKEN,
        number: 100,
        flags: FLAG_INTEGER
    };
    var getAbsoluteValueForTuple = function (tuple, width, height) {
        var x = tuple[0], y = tuple[1];
        return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];
    };
    var getAbsoluteValue = function (token, parent) {
        if (token.type === TokenType.PERCENTAGE_TOKEN) {
            return (token.number / 100) * parent;
        }
        if (isDimensionToken(token)) {
            switch (token.unit) {
                case 'rem':
                case 'em':
                    return 16 * token.number; // TODO use correct font-size
                case 'px':
                default:
                    return token.number;
            }
        }
        return token.number;
    };

    var DEG = 'deg';
    var GRAD = 'grad';
    var RAD = 'rad';
    var TURN = 'turn';
    var angle = {
        name: 'angle',
        parse: function (value) {
            if (value.type === TokenType.DIMENSION_TOKEN) {
                switch (value.unit) {
                    case DEG:
                        return (Math.PI * value.number) / 180;
                    case GRAD:
                        return (Math.PI / 200) * value.number;
                    case RAD:
                        return value.number;
                    case TURN:
                        return Math.PI * 2 * value.number;
                }
            }
            throw new Error("Unsupported angle type");
        }
    };
    var isAngle = function (value) {
        if (value.type === TokenType.DIMENSION_TOKEN) {
            if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {
                return true;
            }
        }
        return false;
    };
    var parseNamedSide = function (tokens) {
        var sideOrCorner = tokens
            .filter(isIdentToken)
            .map(function (ident) { return ident.value; })
            .join(' ');
        switch (sideOrCorner) {
            case 'to bottom right':
            case 'to right bottom':
            case 'left top':
            case 'top left':
                return [ZERO_LENGTH, ZERO_LENGTH];
            case 'to top':
            case 'bottom':
                return deg(0);
            case 'to bottom left':
            case 'to left bottom':
            case 'right top':
            case 'top right':
                return [ZERO_LENGTH, HUNDRED_PERCENT];
            case 'to right':
            case 'left':
                return deg(90);
            case 'to top left':
            case 'to left top':
            case 'right bottom':
            case 'bottom right':
                return [HUNDRED_PERCENT, HUNDRED_PERCENT];
            case 'to bottom':
            case 'top':
                return deg(180);
            case 'to top right':
            case 'to right top':
            case 'left bottom':
            case 'bottom left':
                return [HUNDRED_PERCENT, ZERO_LENGTH];
            case 'to left':
            case 'right':
                return deg(270);
        }
        return 0;
    };
    var deg = function (deg) { return (Math.PI * deg) / 180; };

    var color = {
        name: 'color',
        parse: function (value) {
            if (value.type === TokenType.FUNCTION) {
                var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];
                if (typeof colorFunction === 'undefined') {
                    throw new Error("Attempting to parse an unsupported color function \"" + value.name + "\"");
                }
                return colorFunction(value.values);
            }
            if (value.type === TokenType.HASH_TOKEN) {
                if (value.value.length === 3) {
                    var r = value.value.substring(0, 1);
                    var g = value.value.substring(1, 2);
                    var b = value.value.substring(2, 3);
                    return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);
                }
                if (value.value.length === 4) {
                    var r = value.value.substring(0, 1);
                    var g = value.value.substring(1, 2);
                    var b = value.value.substring(2, 3);
                    var a = value.value.substring(3, 4);
                    return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);
                }
                if (value.value.length === 6) {
                    var r = value.value.substring(0, 2);
                    var g = value.value.substring(2, 4);
                    var b = value.value.substring(4, 6);
                    return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);
                }
                if (value.value.length === 8) {
                    var r = value.value.substring(0, 2);
                    var g = value.value.substring(2, 4);
                    var b = value.value.substring(4, 6);
                    var a = value.value.substring(6, 8);
                    return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);
                }
            }
            if (value.type === TokenType.IDENT_TOKEN) {
                var namedColor = COLORS[value.value.toUpperCase()];
                if (typeof namedColor !== 'undefined') {
                    return namedColor;
                }
            }
            return COLORS.TRANSPARENT;
        }
    };
    var isTransparent = function (color) { return (0xff & color) === 0; };
    var asString = function (color) {
        var alpha = 0xff & color;
        var blue = 0xff & (color >> 8);
        var green = 0xff & (color >> 16);
        var red = 0xff & (color >> 24);
        return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")";
    };
    var pack = function (r, g, b, a) {
        return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;
    };
    var getTokenColorValue = function (token, i) {
        if (token.type === TokenType.NUMBER_TOKEN) {
            return token.number;
        }
        if (token.type === TokenType.PERCENTAGE_TOKEN) {
            var max = i === 3 ? 1 : 255;
            return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);
        }
        return 0;
    };
    var rgb = function (args) {
        var tokens = args.filter(nonFunctionArgSeparator);
        if (tokens.length === 3) {
            var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];
            return pack(r, g, b, 1);
        }
        if (tokens.length === 4) {
            var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];
            return pack(r, g, b, a);
        }
        return 0;
    };
    function hue2rgb(t1, t2, hue) {
        if (hue < 0) {
            hue += 1;
        }
        if (hue >= 1) {
            hue -= 1;
        }
        if (hue < 1 / 6) {
            return (t2 - t1) * hue * 6 + t1;
        }
        else if (hue < 1 / 2) {
            return t2;
        }
        else if (hue < 2 / 3) {
            return (t2 - t1) * 6 * (2 / 3 - hue) + t1;
        }
        else {
            return t1;
        }
    }
    var hsl = function (args) {
        var tokens = args.filter(nonFunctionArgSeparator);
        var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];
        var h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(hue)) / (Math.PI * 2);
        var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;
        var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;
        var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;
        if (s === 0) {
            return pack(l * 255, l * 255, l * 255, 1);
        }
        var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;
        var t1 = l * 2 - t2;
        var r = hue2rgb(t1, t2, h + 1 / 3);
        var g = hue2rgb(t1, t2, h);
        var b = hue2rgb(t1, t2, h - 1 / 3);
        return pack(r * 255, g * 255, b * 255, a);
    };
    var SUPPORTED_COLOR_FUNCTIONS = {
        hsl: hsl,
        hsla: hsl,
        rgb: rgb,
        rgba: rgb
    };
    var COLORS = {
        ALICEBLUE: 0xf0f8ffff,
        ANTIQUEWHITE: 0xfaebd7ff,
        AQUA: 0x00ffffff,
        AQUAMARINE: 0x7fffd4ff,
        AZURE: 0xf0ffffff,
        BEIGE: 0xf5f5dcff,
        BISQUE: 0xffe4c4ff,
        BLACK: 0x000000ff,
        BLANCHEDALMOND: 0xffebcdff,
        BLUE: 0x0000ffff,
        BLUEVIOLET: 0x8a2be2ff,
        BROWN: 0xa52a2aff,
        BURLYWOOD: 0xdeb887ff,
        CADETBLUE: 0x5f9ea0ff,
        CHARTREUSE: 0x7fff00ff,
        CHOCOLATE: 0xd2691eff,
        CORAL: 0xff7f50ff,
        CORNFLOWERBLUE: 0x6495edff,
        CORNSILK: 0xfff8dcff,
        CRIMSON: 0xdc143cff,
        CYAN: 0x00ffffff,
        DARKBLUE: 0x00008bff,
        DARKCYAN: 0x008b8bff,
        DARKGOLDENROD: 0xb886bbff,
        DARKGRAY: 0xa9a9a9ff,
        DARKGREEN: 0x006400ff,
        DARKGREY: 0xa9a9a9ff,
        DARKKHAKI: 0xbdb76bff,
        DARKMAGENTA: 0x8b008bff,
        DARKOLIVEGREEN: 0x556b2fff,
        DARKORANGE: 0xff8c00ff,
        DARKORCHID: 0x9932ccff,
        DARKRED: 0x8b0000ff,
        DARKSALMON: 0xe9967aff,
        DARKSEAGREEN: 0x8fbc8fff,
        DARKSLATEBLUE: 0x483d8bff,
        DARKSLATEGRAY: 0x2f4f4fff,
        DARKSLATEGREY: 0x2f4f4fff,
        DARKTURQUOISE: 0x00ced1ff,
        DARKVIOLET: 0x9400d3ff,
        DEEPPINK: 0xff1493ff,
        DEEPSKYBLUE: 0x00bfffff,
        DIMGRAY: 0x696969ff,
        DIMGREY: 0x696969ff,
        DODGERBLUE: 0x1e90ffff,
        FIREBRICK: 0xb22222ff,
        FLORALWHITE: 0xfffaf0ff,
        FORESTGREEN: 0x228b22ff,
        FUCHSIA: 0xff00ffff,
        GAINSBORO: 0xdcdcdcff,
        GHOSTWHITE: 0xf8f8ffff,
        GOLD: 0xffd700ff,
        GOLDENROD: 0xdaa520ff,
        GRAY: 0x808080ff,
        GREEN: 0x008000ff,
        GREENYELLOW: 0xadff2fff,
        GREY: 0x808080ff,
        HONEYDEW: 0xf0fff0ff,
        HOTPINK: 0xff69b4ff,
        INDIANRED: 0xcd5c5cff,
        INDIGO: 0x4b0082ff,
        IVORY: 0xfffff0ff,
        KHAKI: 0xf0e68cff,
        LAVENDER: 0xe6e6faff,
        LAVENDERBLUSH: 0xfff0f5ff,
        LAWNGREEN: 0x7cfc00ff,
        LEMONCHIFFON: 0xfffacdff,
        LIGHTBLUE: 0xadd8e6ff,
        LIGHTCORAL: 0xf08080ff,
        LIGHTCYAN: 0xe0ffffff,
        LIGHTGOLDENRODYELLOW: 0xfafad2ff,
        LIGHTGRAY: 0xd3d3d3ff,
        LIGHTGREEN: 0x90ee90ff,
        LIGHTGREY: 0xd3d3d3ff,
        LIGHTPINK: 0xffb6c1ff,
        LIGHTSALMON: 0xffa07aff,
        LIGHTSEAGREEN: 0x20b2aaff,
        LIGHTSKYBLUE: 0x87cefaff,
        LIGHTSLATEGRAY: 0x778899ff,
        LIGHTSLATEGREY: 0x778899ff,
        LIGHTSTEELBLUE: 0xb0c4deff,
        LIGHTYELLOW: 0xffffe0ff,
        LIME: 0x00ff00ff,
        LIMEGREEN: 0x32cd32ff,
        LINEN: 0xfaf0e6ff,
        MAGENTA: 0xff00ffff,
        MAROON: 0x800000ff,
        MEDIUMAQUAMARINE: 0x66cdaaff,
        MEDIUMBLUE: 0x0000cdff,
        MEDIUMORCHID: 0xba55d3ff,
        MEDIUMPURPLE: 0x9370dbff,
        MEDIUMSEAGREEN: 0x3cb371ff,
        MEDIUMSLATEBLUE: 0x7b68eeff,
        MEDIUMSPRINGGREEN: 0x00fa9aff,
        MEDIUMTURQUOISE: 0x48d1ccff,
        MEDIUMVIOLETRED: 0xc71585ff,
        MIDNIGHTBLUE: 0x191970ff,
        MINTCREAM: 0xf5fffaff,
        MISTYROSE: 0xffe4e1ff,
        MOCCASIN: 0xffe4b5ff,
        NAVAJOWHITE: 0xffdeadff,
        NAVY: 0x000080ff,
        OLDLACE: 0xfdf5e6ff,
        OLIVE: 0x808000ff,
        OLIVEDRAB: 0x6b8e23ff,
        ORANGE: 0xffa500ff,
        ORANGERED: 0xff4500ff,
        ORCHID: 0xda70d6ff,
        PALEGOLDENROD: 0xeee8aaff,
        PALEGREEN: 0x98fb98ff,
        PALETURQUOISE: 0xafeeeeff,
        PALEVIOLETRED: 0xdb7093ff,
        PAPAYAWHIP: 0xffefd5ff,
        PEACHPUFF: 0xffdab9ff,
        PERU: 0xcd853fff,
        PINK: 0xffc0cbff,
        PLUM: 0xdda0ddff,
        POWDERBLUE: 0xb0e0e6ff,
        PURPLE: 0x800080ff,
        REBECCAPURPLE: 0x663399ff,
        RED: 0xff0000ff,
        ROSYBROWN: 0xbc8f8fff,
        ROYALBLUE: 0x4169e1ff,
        SADDLEBROWN: 0x8b4513ff,
        SALMON: 0xfa8072ff,
        SANDYBROWN: 0xf4a460ff,
        SEAGREEN: 0x2e8b57ff,
        SEASHELL: 0xfff5eeff,
        SIENNA: 0xa0522dff,
        SILVER: 0xc0c0c0ff,
        SKYBLUE: 0x87ceebff,
        SLATEBLUE: 0x6a5acdff,
        SLATEGRAY: 0x708090ff,
        SLATEGREY: 0x708090ff,
        SNOW: 0xfffafaff,
        SPRINGGREEN: 0x00ff7fff,
        STEELBLUE: 0x4682b4ff,
        TAN: 0xd2b48cff,
        TEAL: 0x008080ff,
        THISTLE: 0xd8bfd8ff,
        TOMATO: 0xff6347ff,
        TRANSPARENT: 0x00000000,
        TURQUOISE: 0x40e0d0ff,
        VIOLET: 0xee82eeff,
        WHEAT: 0xf5deb3ff,
        WHITE: 0xffffffff,
        WHITESMOKE: 0xf5f5f5ff,
        YELLOW: 0xffff00ff,
        YELLOWGREEN: 0x9acd32ff
    };

    var PropertyDescriptorParsingType;
    (function (PropertyDescriptorParsingType) {
        PropertyDescriptorParsingType[PropertyDescriptorParsingType["VALUE"] = 0] = "VALUE";
        PropertyDescriptorParsingType[PropertyDescriptorParsingType["LIST"] = 1] = "LIST";
        PropertyDescriptorParsingType[PropertyDescriptorParsingType["IDENT_VALUE"] = 2] = "IDENT_VALUE";
        PropertyDescriptorParsingType[PropertyDescriptorParsingType["TYPE_VALUE"] = 3] = "TYPE_VALUE";
        PropertyDescriptorParsingType[PropertyDescriptorParsingType["TOKEN_VALUE"] = 4] = "TOKEN_VALUE";
    })(PropertyDescriptorParsingType || (PropertyDescriptorParsingType = {}));

    var BACKGROUND_CLIP;
    (function (BACKGROUND_CLIP) {
        BACKGROUND_CLIP[BACKGROUND_CLIP["BORDER_BOX"] = 0] = "BORDER_BOX";
        BACKGROUND_CLIP[BACKGROUND_CLIP["PADDING_BOX"] = 1] = "PADDING_BOX";
        BACKGROUND_CLIP[BACKGROUND_CLIP["CONTENT_BOX"] = 2] = "CONTENT_BOX";
    })(BACKGROUND_CLIP || (BACKGROUND_CLIP = {}));
    var backgroundClip = {
        name: 'background-clip',
        initialValue: 'border-box',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return tokens.map(function (token) {
                if (isIdentToken(token)) {
                    switch (token.value) {
                        case 'padding-box':
                            return BACKGROUND_CLIP.PADDING_BOX;
                        case 'content-box':
                            return BACKGROUND_CLIP.CONTENT_BOX;
                    }
                }
                return BACKGROUND_CLIP.BORDER_BOX;
            });
        }
    };

    var backgroundColor = {
        name: "background-color",
        initialValue: 'transparent',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'color'
    };

    var parseColorStop = function (args) {
        var color$1 = color.parse(args[0]);
        var stop = args[1];
        return stop && isLengthPercentage(stop) ? { color: color$1, stop: stop } : { color: color$1, stop: null };
    };
    var processColorStops = function (stops, lineLength) {
        var first = stops[0];
        var last = stops[stops.length - 1];
        if (first.stop === null) {
            first.stop = ZERO_LENGTH;
        }
        if (last.stop === null) {
            last.stop = HUNDRED_PERCENT;
        }
        var processStops = [];
        var previous = 0;
        for (var i = 0; i < stops.length; i++) {
            var stop_1 = stops[i].stop;
            if (stop_1 !== null) {
                var absoluteValue = getAbsoluteValue(stop_1, lineLength);
                if (absoluteValue > previous) {
                    processStops.push(absoluteValue);
                }
                else {
                    processStops.push(previous);
                }
                previous = absoluteValue;
            }
            else {
                processStops.push(null);
            }
        }
        var gapBegin = null;
        for (var i = 0; i < processStops.length; i++) {
            var stop_2 = processStops[i];
            if (stop_2 === null) {
                if (gapBegin === null) {
                    gapBegin = i;
                }
            }
            else if (gapBegin !== null) {
                var gapLength = i - gapBegin;
                var beforeGap = processStops[gapBegin - 1];
                var gapValue = (stop_2 - beforeGap) / (gapLength + 1);
                for (var g = 1; g <= gapLength; g++) {
                    processStops[gapBegin + g - 1] = gapValue * g;
                }
                gapBegin = null;
            }
        }
        return stops.map(function (_a, i) {
            var color = _a.color;
            return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };
        });
    };
    var getAngleFromCorner = function (corner, width, height) {
        var centerX = width / 2;
        var centerY = height / 2;
        var x = getAbsoluteValue(corner[0], width) - centerX;
        var y = centerY - getAbsoluteValue(corner[1], height);
        return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);
    };
    var calculateGradientDirection = function (angle, width, height) {
        var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);
        var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));
        var halfWidth = width / 2;
        var halfHeight = height / 2;
        var halfLineLength = lineLength / 2;
        var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;
        var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;
        return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];
    };
    var distance = function (a, b) { return Math.sqrt(a * a + b * b); };
    var findCorner = function (width, height, x, y, closest) {
        var corners = [[0, 0], [0, height], [width, 0], [width, height]];
        return corners.reduce(function (stat, corner) {
            var cx = corner[0], cy = corner[1];
            var d = distance(x - cx, y - cy);
            if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {
                return {
                    optimumCorner: corner,
                    optimumDistance: d
                };
            }
            return stat;
        }, {
            optimumDistance: closest ? Infinity : -Infinity,
            optimumCorner: null
        }).optimumCorner;
    };
    var calculateRadius = function (gradient, x, y, width, height) {
        var rx = 0;
        var ry = 0;
        switch (gradient.size) {
            case CSSRadialExtent.CLOSEST_SIDE:
                // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.
                // If the shape is an ellipse, it exactly meets the closest side in each dimension.
                if (gradient.shape === CSSRadialShape.CIRCLE) {
                    rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));
                }
                else if (gradient.shape === CSSRadialShape.ELLIPSE) {
                    rx = Math.min(Math.abs(x), Math.abs(x - width));
                    ry = Math.min(Math.abs(y), Math.abs(y - height));
                }
                break;
            case CSSRadialExtent.CLOSEST_CORNER:
                // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.
                // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.
                if (gradient.shape === CSSRadialShape.CIRCLE) {
                    rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));
                }
                else if (gradient.shape === CSSRadialShape.ELLIPSE) {
                    // Compute the ratio ry/rx (which is to be the same as for "closest-side")
                    var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));
                    var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];
                    rx = distance(cx - x, (cy - y) / c);
                    ry = c * rx;
                }
                break;
            case CSSRadialExtent.FARTHEST_SIDE:
                // Same as closest-side, except the ending shape is sized based on the farthest side(s)
                if (gradient.shape === CSSRadialShape.CIRCLE) {
                    rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));
                }
                else if (gradient.shape === CSSRadialShape.ELLIPSE) {
                    rx = Math.max(Math.abs(x), Math.abs(x - width));
                    ry = Math.max(Math.abs(y), Math.abs(y - height));
                }
                break;
            case CSSRadialExtent.FARTHEST_CORNER:
                // Same as closest-corner, except the ending shape is sized based on the farthest corner.
                // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.
                if (gradient.shape === CSSRadialShape.CIRCLE) {
                    rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));
                }
                else if (gradient.shape === CSSRadialShape.ELLIPSE) {
                    // Compute the ratio ry/rx (which is to be the same as for "farthest-side")
                    var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));
                    var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];
                    rx = distance(cx - x, (cy - y) / c);
                    ry = c * rx;
                }
                break;
        }
        if (Array.isArray(gradient.size)) {
            rx = getAbsoluteValue(gradient.size[0], width);
            ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;
        }
        return [rx, ry];
    };

    var linearGradient = function (tokens) {
        var angle$1 = deg(180);
        var stops = [];
        parseFunctionArgs(tokens).forEach(function (arg, i) {
            if (i === 0) {
                var firstToken = arg[0];
                if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {
                    angle$1 = parseNamedSide(arg);
                    return;
                }
                else if (isAngle(firstToken)) {
                    angle$1 = angle.parse(firstToken);
                    return;
                }
            }
            var colorStop = parseColorStop(arg);
            stops.push(colorStop);
        });
        return { angle: angle$1, stops: stops, type: CSSImageType.LINEAR_GRADIENT };
    };

    var prefixLinearGradient = function (tokens) {
        var angle$1 = deg(180);
        var stops = [];
        parseFunctionArgs(tokens).forEach(function (arg, i) {
            if (i === 0) {
                var firstToken = arg[0];
                if (firstToken.type === TokenType.IDENT_TOKEN &&
                    ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {
                    angle$1 = parseNamedSide(arg);
                    return;
                }
                else if (isAngle(firstToken)) {
                    angle$1 = (angle.parse(firstToken) + deg(270)) % deg(360);
                    return;
                }
            }
            var colorStop = parseColorStop(arg);
            stops.push(colorStop);
        });
        return {
            angle: angle$1,
            stops: stops,
            type: CSSImageType.LINEAR_GRADIENT
        };
    };

    var testRangeBounds = function (document) {
        var TEST_HEIGHT = 123;
        if (document.createRange) {
            var range = document.createRange();
            if (range.getBoundingClientRect) {
                var testElement = document.createElement('boundtest');
                testElement.style.height = TEST_HEIGHT + "px";
                testElement.style.display = 'block';
                document.body.appendChild(testElement);
                range.selectNode(testElement);
                var rangeBounds = range.getBoundingClientRect();
                var rangeHeight = Math.round(rangeBounds.height);
                document.body.removeChild(testElement);
                if (rangeHeight === TEST_HEIGHT) {
                    return true;
                }
            }
        }
        return false;
    };
    var testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };
    var testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };
    var testSVG = function (document) {
        var img = new Image();
        var canvas = document.createElement('canvas');
        var ctx = canvas.getContext('2d');
        if (!ctx) {
            return false;
        }
        img.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";
        try {
            ctx.drawImage(img, 0, 0);
            canvas.toDataURL();
        }
        catch (e) {
            return false;
        }
        return true;
    };
    var isGreenPixel = function (data) {
        return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;
    };
    var testForeignObject = function (document) {
        var canvas = document.createElement('canvas');
        var size = 100;
        canvas.width = size;
        canvas.height = size;
        var ctx = canvas.getContext('2d');
        if (!ctx) {
            return Promise.reject(false);
        }
        ctx.fillStyle = 'rgb(0, 255, 0)';
        ctx.fillRect(0, 0, size, size);
        var img = new Image();
        var greenImageSrc = canvas.toDataURL();
        img.src = greenImageSrc;
        var svg = createForeignObjectSVG(size, size, 0, 0, img);
        ctx.fillStyle = 'red';
        ctx.fillRect(0, 0, size, size);
        return loadSerializedSVG(svg)
            .then(function (img) {
            ctx.drawImage(img, 0, 0);
            var data = ctx.getImageData(0, 0, size, size).data;
            ctx.fillStyle = 'red';
            ctx.fillRect(0, 0, size, size);
            var node = document.createElement('div');
            node.style.backgroundImage = "url(" + greenImageSrc + ")";
            node.style.height = size + "px";
            // Firefox 55 does not render inline <img /> tags
            return isGreenPixel(data)
                ? loadSerializedSVG(createForeignObjectSVG(size, size, 0, 0, node))
                : Promise.reject(false);
        })
            .then(function (img) {
            ctx.drawImage(img, 0, 0);
            // Edge does not render background-images
            return isGreenPixel(ctx.getImageData(0, 0, size, size).data);
        })
            .catch(function () { return false; });
    };
    var createForeignObjectSVG = function (width, height, x, y, node) {
        var xmlns = 'http://www.w3.org/2000/svg';
        var svg = document.createElementNS(xmlns, 'svg');
        var foreignObject = document.createElementNS(xmlns, 'foreignObject');
        svg.setAttributeNS(null, 'width', width.toString());
        svg.setAttributeNS(null, 'height', height.toString());
        foreignObject.setAttributeNS(null, 'width', '100%');
        foreignObject.setAttributeNS(null, 'height', '100%');
        foreignObject.setAttributeNS(null, 'x', x.toString());
        foreignObject.setAttributeNS(null, 'y', y.toString());
        foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');
        svg.appendChild(foreignObject);
        foreignObject.appendChild(node);
        return svg;
    };
    var loadSerializedSVG = function (svg) {
        return new Promise(function (resolve, reject) {
            var img = new Image();
            img.onload = function () { return resolve(img); };
            img.onerror = reject;
            img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg));
        });
    };
    var FEATURES = {
        get SUPPORT_RANGE_BOUNDS() {
            var value = testRangeBounds(document);
            Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });
            return value;
        },
        get SUPPORT_SVG_DRAWING() {
            var value = testSVG(document);
            Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });
            return value;
        },
        get SUPPORT_FOREIGNOBJECT_DRAWING() {
            var value = typeof Array.from === 'function' && typeof window.fetch === 'function'
                ? testForeignObject(document)
                : Promise.resolve(false);
            Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });
            return value;
        },
        get SUPPORT_CORS_IMAGES() {
            var value = testCORS();
            Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });
            return value;
        },
        get SUPPORT_RESPONSE_TYPE() {
            var value = testResponseType();
            Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });
            return value;
        },
        get SUPPORT_CORS_XHR() {
            var value = 'withCredentials' in new XMLHttpRequest();
            Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });
            return value;
        }
    };

    var Logger = /** @class */ (function () {
        function Logger(_a) {
            var id = _a.id, enabled = _a.enabled;
            this.id = id;
            this.enabled = enabled;
            this.start = Date.now();
        }
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        Logger.prototype.debug = function () {
            var args = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                args[_i] = arguments[_i];
            }
            if (this.enabled) {
                // eslint-disable-next-line no-console
                if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') {
                    // eslint-disable-next-line no-console
                    console.debug.apply(console, [this.id, this.getTime() + "ms"].concat(args));
                }
                else {
                    this.info.apply(this, args);
                }
            }
        };
        Logger.prototype.getTime = function () {
            return Date.now() - this.start;
        };
        Logger.create = function (options) {
            Logger.instances[options.id] = new Logger(options);
        };
        Logger.destroy = function (id) {
            delete Logger.instances[id];
        };
        Logger.getInstance = function (id) {
            var instance = Logger.instances[id];
            if (typeof instance === 'undefined') {
                throw new Error("No logger instance found with id " + id);
            }
            return instance;
        };
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        Logger.prototype.info = function () {
            var args = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                args[_i] = arguments[_i];
            }
            if (this.enabled) {
                // eslint-disable-next-line no-console
                if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') {
                    // eslint-disable-next-line no-console
                    console.info.apply(console, [this.id, this.getTime() + "ms"].concat(args));
                }
            }
        };
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        Logger.prototype.error = function () {
            var args = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                args[_i] = arguments[_i];
            }
            if (this.enabled) {
                // eslint-disable-next-line no-console
                if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') {
                    // eslint-disable-next-line no-console
                    console.error.apply(console, [this.id, this.getTime() + "ms"].concat(args));
                }
                else {
                    this.info.apply(this, args);
                }
            }
        };
        Logger.instances = {};
        return Logger;
    }());

    var CacheStorage = /** @class */ (function () {
        function CacheStorage() {
        }
        CacheStorage.create = function (name, options) {
            return (CacheStorage._caches[name] = new Cache(name, options));
        };
        CacheStorage.destroy = function (name) {
            delete CacheStorage._caches[name];
        };
        CacheStorage.open = function (name) {
            var cache = CacheStorage._caches[name];
            if (typeof cache !== 'undefined') {
                return cache;
            }
            throw new Error("Cache with key \"" + name + "\" not found");
        };
        CacheStorage.getOrigin = function (url) {
            var link = CacheStorage._link;
            if (!link) {
                return 'about:blank';
            }
            link.href = url;
            link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/
            return link.protocol + link.hostname + link.port;
        };
        CacheStorage.isSameOrigin = function (src) {
            return CacheStorage.getOrigin(src) === CacheStorage._origin;
        };
        CacheStorage.setContext = function (window) {
            CacheStorage._link = window.document.createElement('a');
            CacheStorage._origin = CacheStorage.getOrigin(window.location.href);
        };
        CacheStorage.getInstance = function () {
            var current = CacheStorage._current;
            if (current === null) {
                throw new Error("No cache instance attached");
            }
            return current;
        };
        CacheStorage.attachInstance = function (cache) {
            CacheStorage._current = cache;
        };
        CacheStorage.detachInstance = function () {
            CacheStorage._current = null;
        };
        CacheStorage._caches = {};
        CacheStorage._origin = 'about:blank';
        CacheStorage._current = null;
        return CacheStorage;
    }());
    var Cache = /** @class */ (function () {
        function Cache(id, options) {
            this.id = id;
            this._options = options;
            this._cache = {};
        }
        Cache.prototype.addImage = function (src) {
            var result = Promise.resolve();
            if (this.has(src)) {
                return result;
            }
            if (isBlobImage(src) || isRenderable(src)) {
                this._cache[src] = this.loadImage(src);
                return result;
            }
            return result;
        };
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        Cache.prototype.match = function (src) {
            return this._cache[src];
        };
        Cache.prototype.loadImage = function (key) {
            return __awaiter(this, void 0, void 0, function () {
                var isSameOrigin, useCORS, useProxy, src;
                var _this = this;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            isSameOrigin = CacheStorage.isSameOrigin(key);
                            useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;
                            useProxy = !isInlineImage(key) &&
                                !isSameOrigin &&
                                typeof this._options.proxy === 'string' &&
                                FEATURES.SUPPORT_CORS_XHR &&
                                !useCORS;
                            if (!isSameOrigin && this._options.allowTaint === false && !isInlineImage(key) && !useProxy && !useCORS) {
                                return [2 /*return*/];
                            }
                            src = key;
                            if (!useProxy) return [3 /*break*/, 2];
                            return [4 /*yield*/, this.proxy(src)];
                        case 1:
                            src = _a.sent();
                            _a.label = 2;
                        case 2:
                            Logger.getInstance(this.id).debug("Added image " + key.substring(0, 256));
                            return [4 /*yield*/, new Promise(function (resolve, reject) {
                                    var img = new Image();
                                    img.onload = function () { return resolve(img); };
                                    img.onerror = reject;
                                    //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
                                    if (isInlineBase64Image(src) || useCORS) {
                                        img.crossOrigin = 'anonymous';
                                    }
                                    img.src = src;
                                    if (img.complete === true) {
                                        // Inline XML images may fail to parse, throwing an Error later on
                                        setTimeout(function () { return resolve(img); }, 500);
                                    }
                                    if (_this._options.imageTimeout > 0) {
                                        setTimeout(function () { return reject("Timed out (" + _this._options.imageTimeout + "ms) loading image"); }, _this._options.imageTimeout);
                                    }
                                })];
                        case 3: return [2 /*return*/, _a.sent()];
                    }
                });
            });
        };
        Cache.prototype.has = function (key) {
            return typeof this._cache[key] !== 'undefined';
        };
        Cache.prototype.keys = function () {
            return Promise.resolve(Object.keys(this._cache));
        };
        Cache.prototype.proxy = function (src) {
            var _this = this;
            var proxy = this._options.proxy;
            if (!proxy) {
                throw new Error('No proxy defined');
            }
            var key = src.substring(0, 256);
            return new Promise(function (resolve, reject) {
                var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text';
                var xhr = new XMLHttpRequest();
                xhr.onload = function () {
                    if (xhr.status === 200) {
                        if (responseType === 'text') {
                            resolve(xhr.response);
                        }
                        else {
                            var reader_1 = new FileReader();
                            reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false);
                            reader_1.addEventListener('error', function (e) { return reject(e); }, false);
                            reader_1.readAsDataURL(xhr.response);
                        }
                    }
                    else {
                        reject("Failed to proxy resource " + key + " with status code " + xhr.status);
                    }
                };
                xhr.onerror = reject;
                xhr.open('GET', proxy + "?url=" + encodeURIComponent(src) + "&responseType=" + responseType);
                if (responseType !== 'text' && xhr instanceof XMLHttpRequest) {
                    xhr.responseType = responseType;
                }
                if (_this._options.imageTimeout) {
                    var timeout_1 = _this._options.imageTimeout;
                    xhr.timeout = timeout_1;
                    xhr.ontimeout = function () { return reject("Timed out (" + timeout_1 + "ms) proxying " + key); };
                }
                xhr.send();
            });
        };
        return Cache;
    }());
    var INLINE_SVG = /^data:image\/svg\+xml/i;
    var INLINE_BASE64 = /^data:image\/.*;base64,/i;
    var INLINE_IMG = /^data:image\/.*/i;
    var isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); };
    var isInlineImage = function (src) { return INLINE_IMG.test(src); };
    var isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); };
    var isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; };
    var isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); };

    var webkitGradient = function (tokens) {
        var angle = deg(180);
        var stops = [];
        var type = CSSImageType.LINEAR_GRADIENT;
        var shape = CSSRadialShape.CIRCLE;
        var size = CSSRadialExtent.FARTHEST_CORNER;
        var position = [];
        parseFunctionArgs(tokens).forEach(function (arg, i) {
            var firstToken = arg[0];
            if (i === 0) {
                if (isIdentToken(firstToken) && firstToken.value === 'linear') {
                    type = CSSImageType.LINEAR_GRADIENT;
                    return;
                }
                else if (isIdentToken(firstToken) && firstToken.value === 'radial') {
                    type = CSSImageType.RADIAL_GRADIENT;
                    return;
                }
            }
            if (firstToken.type === TokenType.FUNCTION) {
                if (firstToken.name === 'from') {
                    var color$1 = color.parse(firstToken.values[0]);
                    stops.push({ stop: ZERO_LENGTH, color: color$1 });
                }
                else if (firstToken.name === 'to') {
                    var color$1 = color.parse(firstToken.values[0]);
                    stops.push({ stop: HUNDRED_PERCENT, color: color$1 });
                }
                else if (firstToken.name === 'color-stop') {
                    var values = firstToken.values.filter(nonFunctionArgSeparator);
                    if (values.length === 2) {
                        var color$1 = color.parse(values[1]);
                        var stop_1 = values[0];
                        if (isNumberToken(stop_1)) {
                            stops.push({
                                stop: { type: TokenType.PERCENTAGE_TOKEN, number: stop_1.number * 100, flags: stop_1.flags },
                                color: color$1
                            });
                        }
                    }
                }
            }
        });
        return type === CSSImageType.LINEAR_GRADIENT
            ? {
                angle: (angle + deg(180)) % deg(360),
                stops: stops,
                type: type
            }
            : { size: size, shape: shape, stops: stops, position: position, type: type };
    };

    var CLOSEST_SIDE = 'closest-side';
    var FARTHEST_SIDE = 'farthest-side';
    var CLOSEST_CORNER = 'closest-corner';
    var FARTHEST_CORNER = 'farthest-corner';
    var CIRCLE = 'circle';
    var ELLIPSE = 'ellipse';
    var COVER = 'cover';
    var CONTAIN = 'contain';
    var radialGradient = function (tokens) {
        var shape = CSSRadialShape.CIRCLE;
        var size = CSSRadialExtent.FARTHEST_CORNER;
        var stops = [];
        var position = [];
        parseFunctionArgs(tokens).forEach(function (arg, i) {
            var isColorStop = true;
            if (i === 0) {
                var isAtPosition_1 = false;
                isColorStop = arg.reduce(function (acc, token) {
                    if (isAtPosition_1) {
                        if (isIdentToken(token)) {
                            switch (token.value) {
                                case 'center':
                                    position.push(FIFTY_PERCENT);
                                    return acc;
                                case 'top':
                                case 'left':
                                    position.push(ZERO_LENGTH);
                                    return acc;
                                case 'right':
                                case 'bottom':
                                    position.push(HUNDRED_PERCENT);
                                    return acc;
                            }
                        }
                        else if (isLengthPercentage(token) || isLength(token)) {
                            position.push(token);
                        }
                    }
                    else if (isIdentToken(token)) {
                        switch (token.value) {
                            case CIRCLE:
                                shape = CSSRadialShape.CIRCLE;
                                return false;
                            case ELLIPSE:
                                shape = CSSRadialShape.ELLIPSE;
                                return false;
                            case 'at':
                                isAtPosition_1 = true;
                                return false;
                            case CLOSEST_SIDE:
                                size = CSSRadialExtent.CLOSEST_SIDE;
                                return false;
                            case COVER:
                            case FARTHEST_SIDE:
                                size = CSSRadialExtent.FARTHEST_SIDE;
                                return false;
                            case CONTAIN:
                            case CLOSEST_CORNER:
                                size = CSSRadialExtent.CLOSEST_CORNER;
                                return false;
                            case FARTHEST_CORNER:
                                size = CSSRadialExtent.FARTHEST_CORNER;
                                return false;
                        }
                    }
                    else if (isLength(token) || isLengthPercentage(token)) {
                        if (!Array.isArray(size)) {
                            size = [];
                        }
                        size.push(token);
                        return false;
                    }
                    return acc;
                }, isColorStop);
            }
            if (isColorStop) {
                var colorStop = parseColorStop(arg);
                stops.push(colorStop);
            }
        });
        return { size: size, shape: shape, stops: stops, position: position, type: CSSImageType.RADIAL_GRADIENT };
    };

    var prefixRadialGradient = function (tokens) {
        var shape = CSSRadialShape.CIRCLE;
        var size = CSSRadialExtent.FARTHEST_CORNER;
        var stops = [];
        var position = [];
        parseFunctionArgs(tokens).forEach(function (arg, i) {
            var isColorStop = true;
            if (i === 0) {
                isColorStop = arg.reduce(function (acc, token) {
                    if (isIdentToken(token)) {
                        switch (token.value) {
                            case 'center':
                                position.push(FIFTY_PERCENT);
                                return false;
                            case 'top':
                            case 'left':
                                position.push(ZERO_LENGTH);
                                return false;
                            case 'right':
                            case 'bottom':
                                position.push(HUNDRED_PERCENT);
                                return false;
                        }
                    }
                    else if (isLengthPercentage(token) || isLength(token)) {
                        position.push(token);
                        return false;
                    }
                    return acc;
                }, isColorStop);
            }
            else if (i === 1) {
                isColorStop = arg.reduce(function (acc, token) {
                    if (isIdentToken(token)) {
                        switch (token.value) {
                            case CIRCLE:
                                shape = CSSRadialShape.CIRCLE;
                                return false;
                            case ELLIPSE:
                                shape = CSSRadialShape.ELLIPSE;
                                return false;
                            case CONTAIN:
                            case CLOSEST_SIDE:
                                size = CSSRadialExtent.CLOSEST_SIDE;
                                return false;
                            case FARTHEST_SIDE:
                                size = CSSRadialExtent.FARTHEST_SIDE;
                                return false;
                            case CLOSEST_CORNER:
                                size = CSSRadialExtent.CLOSEST_CORNER;
                                return false;
                            case COVER:
                            case FARTHEST_CORNER:
                                size = CSSRadialExtent.FARTHEST_CORNER;
                                return false;
                        }
                    }
                    else if (isLength(token) || isLengthPercentage(token)) {
                        if (!Array.isArray(size)) {
                            size = [];
                        }
                        size.push(token);
                        return false;
                    }
                    return acc;
                }, isColorStop);
            }
            if (isColorStop) {
                var colorStop = parseColorStop(arg);
                stops.push(colorStop);
            }
        });
        return { size: size, shape: shape, stops: stops, position: position, type: CSSImageType.RADIAL_GRADIENT };
    };

    var CSSImageType;
    (function (CSSImageType) {
        CSSImageType[CSSImageType["URL"] = 0] = "URL";
        CSSImageType[CSSImageType["LINEAR_GRADIENT"] = 1] = "LINEAR_GRADIENT";
        CSSImageType[CSSImageType["RADIAL_GRADIENT"] = 2] = "RADIAL_GRADIENT";
    })(CSSImageType || (CSSImageType = {}));
    var isLinearGradient = function (background) {
        return background.type === CSSImageType.LINEAR_GRADIENT;
    };
    var isRadialGradient = function (background) {
        return background.type === CSSImageType.RADIAL_GRADIENT;
    };
    var CSSRadialShape;
    (function (CSSRadialShape) {
        CSSRadialShape[CSSRadialShape["CIRCLE"] = 0] = "CIRCLE";
        CSSRadialShape[CSSRadialShape["ELLIPSE"] = 1] = "ELLIPSE";
    })(CSSRadialShape || (CSSRadialShape = {}));
    var CSSRadialExtent;
    (function (CSSRadialExtent) {
        CSSRadialExtent[CSSRadialExtent["CLOSEST_SIDE"] = 0] = "CLOSEST_SIDE";
        CSSRadialExtent[CSSRadialExtent["FARTHEST_SIDE"] = 1] = "FARTHEST_SIDE";
        CSSRadialExtent[CSSRadialExtent["CLOSEST_CORNER"] = 2] = "CLOSEST_CORNER";
        CSSRadialExtent[CSSRadialExtent["FARTHEST_CORNER"] = 3] = "FARTHEST_CORNER";
    })(CSSRadialExtent || (CSSRadialExtent = {}));
    var image = {
        name: 'image',
        parse: function (value) {
            if (value.type === TokenType.URL_TOKEN) {
                var image_1 = { url: value.value, type: CSSImageType.URL };
                CacheStorage.getInstance().addImage(value.value);
                return image_1;
            }
            if (value.type === TokenType.FUNCTION) {
                var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];
                if (typeof imageFunction === 'undefined') {
                    throw new Error("Attempting to parse an unsupported image function \"" + value.name + "\"");
                }
                return imageFunction(value.values);
            }
            throw new Error("Unsupported image type");
        }
    };
    function isSupportedImage(value) {
        return value.type !== TokenType.FUNCTION || SUPPORTED_IMAGE_FUNCTIONS[value.name];
    }
    var SUPPORTED_IMAGE_FUNCTIONS = {
        'linear-gradient': linearGradient,
        '-moz-linear-gradient': prefixLinearGradient,
        '-ms-linear-gradient': prefixLinearGradient,
        '-o-linear-gradient': prefixLinearGradient,
        '-webkit-linear-gradient': prefixLinearGradient,
        'radial-gradient': radialGradient,
        '-moz-radial-gradient': prefixRadialGradient,
        '-ms-radial-gradient': prefixRadialGradient,
        '-o-radial-gradient': prefixRadialGradient,
        '-webkit-radial-gradient': prefixRadialGradient,
        '-webkit-gradient': webkitGradient
    };

    var backgroundImage = {
        name: 'background-image',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            if (tokens.length === 0) {
                return [];
            }
            var first = tokens[0];
            if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {
                return [];
            }
            return tokens.filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); }).map(image.parse);
        }
    };

    var backgroundOrigin = {
        name: 'background-origin',
        initialValue: 'border-box',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return tokens.map(function (token) {
                if (isIdentToken(token)) {
                    switch (token.value) {
                        case 'padding-box':
                            return 1 /* PADDING_BOX */;
                        case 'content-box':
                            return 2 /* CONTENT_BOX */;
                    }
                }
                return 0 /* BORDER_BOX */;
            });
        }
    };

    var backgroundPosition = {
        name: 'background-position',
        initialValue: '0% 0%',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            return parseFunctionArgs(tokens)
                .map(function (values) { return values.filter(isLengthPercentage); })
                .map(parseLengthPercentageTuple);
        }
    };

    var BACKGROUND_REPEAT;
    (function (BACKGROUND_REPEAT) {
        BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT"] = 0] = "REPEAT";
        BACKGROUND_REPEAT[BACKGROUND_REPEAT["NO_REPEAT"] = 1] = "NO_REPEAT";
        BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT_X"] = 2] = "REPEAT_X";
        BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT_Y"] = 3] = "REPEAT_Y";
    })(BACKGROUND_REPEAT || (BACKGROUND_REPEAT = {}));
    var backgroundRepeat = {
        name: 'background-repeat',
        initialValue: 'repeat',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return parseFunctionArgs(tokens)
                .map(function (values) {
                return values
                    .filter(isIdentToken)
                    .map(function (token) { return token.value; })
                    .join(' ');
            })
                .map(parseBackgroundRepeat);
        }
    };
    var parseBackgroundRepeat = function (value) {
        switch (value) {
            case 'no-repeat':
                return BACKGROUND_REPEAT.NO_REPEAT;
            case 'repeat-x':
            case 'repeat no-repeat':
                return BACKGROUND_REPEAT.REPEAT_X;
            case 'repeat-y':
            case 'no-repeat repeat':
                return BACKGROUND_REPEAT.REPEAT_Y;
            case 'repeat':
            default:
                return BACKGROUND_REPEAT.REPEAT;
        }
    };

    var BACKGROUND_SIZE;
    (function (BACKGROUND_SIZE) {
        BACKGROUND_SIZE["AUTO"] = "auto";
        BACKGROUND_SIZE["CONTAIN"] = "contain";
        BACKGROUND_SIZE["COVER"] = "cover";
    })(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));
    var backgroundSize = {
        name: 'background-size',
        initialValue: '0',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });
        }
    };
    var isBackgroundSizeInfoToken = function (value) {
        return isIdentToken(value) || isLengthPercentage(value);
    };

    var borderColorForSide = function (side) { return ({
        name: "border-" + side + "-color",
        initialValue: 'transparent',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'color'
    }); };
    var borderTopColor = borderColorForSide('top');
    var borderRightColor = borderColorForSide('right');
    var borderBottomColor = borderColorForSide('bottom');
    var borderLeftColor = borderColorForSide('left');

    var borderRadiusForSide = function (side) { return ({
        name: "border-radius-" + side,
        initialValue: '0 0',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) { return parseLengthPercentageTuple(tokens.filter(isLengthPercentage)); }
    }); };
    var borderTopLeftRadius = borderRadiusForSide('top-left');
    var borderTopRightRadius = borderRadiusForSide('top-right');
    var borderBottomRightRadius = borderRadiusForSide('bottom-right');
    var borderBottomLeftRadius = borderRadiusForSide('bottom-left');

    var BORDER_STYLE;
    (function (BORDER_STYLE) {
        BORDER_STYLE[BORDER_STYLE["NONE"] = 0] = "NONE";
        BORDER_STYLE[BORDER_STYLE["SOLID"] = 1] = "SOLID";
    })(BORDER_STYLE || (BORDER_STYLE = {}));
    var borderStyleForSide = function (side) { return ({
        name: "border-" + side + "-style",
        initialValue: 'solid',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (style) {
            switch (style) {
                case 'none':
                    return BORDER_STYLE.NONE;
            }
            return BORDER_STYLE.SOLID;
        }
    }); };
    var borderTopStyle = borderStyleForSide('top');
    var borderRightStyle = borderStyleForSide('right');
    var borderBottomStyle = borderStyleForSide('bottom');
    var borderLeftStyle = borderStyleForSide('left');

    var borderWidthForSide = function (side) { return ({
        name: "border-" + side + "-width",
        initialValue: '0',
        type: PropertyDescriptorParsingType.VALUE,
        prefix: false,
        parse: function (token) {
            if (isDimensionToken(token)) {
                return token.number;
            }
            return 0;
        }
    }); };
    var borderTopWidth = borderWidthForSide('top');
    var borderRightWidth = borderWidthForSide('right');
    var borderBottomWidth = borderWidthForSide('bottom');
    var borderLeftWidth = borderWidthForSide('left');

    var color$1 = {
        name: "color",
        initialValue: 'transparent',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'color'
    };

    var display = {
        name: 'display',
        initialValue: 'inline-block',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return tokens.filter(isIdentToken).reduce(function (bit, token) {
                return bit | parseDisplayValue(token.value);
            }, 0 /* NONE */);
        }
    };
    var parseDisplayValue = function (display) {
        switch (display) {
            case 'block':
                return 2 /* BLOCK */;
            case 'inline':
                return 4 /* INLINE */;
            case 'run-in':
                return 8 /* RUN_IN */;
            case 'flow':
                return 16 /* FLOW */;
            case 'flow-root':
                return 32 /* FLOW_ROOT */;
            case 'table':
                return 64 /* TABLE */;
            case 'flex':
            case '-webkit-flex':
                return 128 /* FLEX */;
            case 'grid':
            case '-ms-grid':
                return 256 /* GRID */;
            case 'ruby':
                return 512 /* RUBY */;
            case 'subgrid':
                return 1024 /* SUBGRID */;
            case 'list-item':
                return 2048 /* LIST_ITEM */;
            case 'table-row-group':
                return 4096 /* TABLE_ROW_GROUP */;
            case 'table-header-group':
                return 8192 /* TABLE_HEADER_GROUP */;
            case 'table-footer-group':
                return 16384 /* TABLE_FOOTER_GROUP */;
            case 'table-row':
                return 32768 /* TABLE_ROW */;
            case 'table-cell':
                return 65536 /* TABLE_CELL */;
            case 'table-column-group':
                return 131072 /* TABLE_COLUMN_GROUP */;
            case 'table-column':
                return 262144 /* TABLE_COLUMN */;
            case 'table-caption':
                return 524288 /* TABLE_CAPTION */;
            case 'ruby-base':
                return 1048576 /* RUBY_BASE */;
            case 'ruby-text':
                return 2097152 /* RUBY_TEXT */;
            case 'ruby-base-container':
                return 4194304 /* RUBY_BASE_CONTAINER */;
            case 'ruby-text-container':
                return 8388608 /* RUBY_TEXT_CONTAINER */;
            case 'contents':
                return 16777216 /* CONTENTS */;
            case 'inline-block':
                return 33554432 /* INLINE_BLOCK */;
            case 'inline-list-item':
                return 67108864 /* INLINE_LIST_ITEM */;
            case 'inline-table':
                return 134217728 /* INLINE_TABLE */;
            case 'inline-flex':
                return 268435456 /* INLINE_FLEX */;
            case 'inline-grid':
                return 536870912 /* INLINE_GRID */;
        }
        return 0 /* NONE */;
    };

    var FLOAT;
    (function (FLOAT) {
        FLOAT[FLOAT["NONE"] = 0] = "NONE";
        FLOAT[FLOAT["LEFT"] = 1] = "LEFT";
        FLOAT[FLOAT["RIGHT"] = 2] = "RIGHT";
        FLOAT[FLOAT["INLINE_START"] = 3] = "INLINE_START";
        FLOAT[FLOAT["INLINE_END"] = 4] = "INLINE_END";
    })(FLOAT || (FLOAT = {}));
    var float = {
        name: 'float',
        initialValue: 'none',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (float) {
            switch (float) {
                case 'left':
                    return FLOAT.LEFT;
                case 'right':
                    return FLOAT.RIGHT;
                case 'inline-start':
                    return FLOAT.INLINE_START;
                case 'inline-end':
                    return FLOAT.INLINE_END;
            }
            return FLOAT.NONE;
        }
    };

    var letterSpacing = {
        name: 'letter-spacing',
        initialValue: '0',
        prefix: false,
        type: PropertyDescriptorParsingType.VALUE,
        parse: function (token) {
            if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {
                return 0;
            }
            if (token.type === TokenType.NUMBER_TOKEN) {
                return token.number;
            }
            if (token.type === TokenType.DIMENSION_TOKEN) {
                return token.number;
            }
            return 0;
        }
    };

    var LINE_BREAK;
    (function (LINE_BREAK) {
        LINE_BREAK["NORMAL"] = "normal";
        LINE_BREAK["STRICT"] = "strict";
    })(LINE_BREAK || (LINE_BREAK = {}));
    var lineBreak = {
        name: 'line-break',
        initialValue: 'normal',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (lineBreak) {
            switch (lineBreak) {
                case 'strict':
                    return LINE_BREAK.STRICT;
                case 'normal':
                default:
                    return LINE_BREAK.NORMAL;
            }
        }
    };

    var lineHeight = {
        name: 'line-height',
        initialValue: 'normal',
        prefix: false,
        type: PropertyDescriptorParsingType.TOKEN_VALUE
    };
    var computeLineHeight = function (token, fontSize) {
        if (isIdentToken(token) && token.value === 'normal') {
            return 1.2 * fontSize;
        }
        else if (token.type === TokenType.NUMBER_TOKEN) {
            return fontSize * token.number;
        }
        else if (isLengthPercentage(token)) {
            return getAbsoluteValue(token, fontSize);
        }
        return fontSize;
    };

    var listStyleImage = {
        name: 'list-style-image',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.VALUE,
        prefix: false,
        parse: function (token) {
            if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {
                return null;
            }
            return image.parse(token);
        }
    };

    var LIST_STYLE_POSITION;
    (function (LIST_STYLE_POSITION) {
        LIST_STYLE_POSITION[LIST_STYLE_POSITION["INSIDE"] = 0] = "INSIDE";
        LIST_STYLE_POSITION[LIST_STYLE_POSITION["OUTSIDE"] = 1] = "OUTSIDE";
    })(LIST_STYLE_POSITION || (LIST_STYLE_POSITION = {}));
    var listStylePosition = {
        name: 'list-style-position',
        initialValue: 'outside',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (position) {
            switch (position) {
                case 'inside':
                    return LIST_STYLE_POSITION.INSIDE;
                case 'outside':
                default:
                    return LIST_STYLE_POSITION.OUTSIDE;
            }
        }
    };

    var LIST_STYLE_TYPE;
    (function (LIST_STYLE_TYPE) {
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["NONE"] = -1] = "NONE";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISC"] = 0] = "DISC";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CIRCLE"] = 1] = "CIRCLE";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["SQUARE"] = 2] = "SQUARE";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DECIMAL"] = 3] = "DECIMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_DECIMAL"] = 4] = "CJK_DECIMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DECIMAL_LEADING_ZERO"] = 5] = "DECIMAL_LEADING_ZERO";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ROMAN"] = 6] = "LOWER_ROMAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ROMAN"] = 7] = "UPPER_ROMAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_GREEK"] = 8] = "LOWER_GREEK";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ALPHA"] = 9] = "LOWER_ALPHA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ALPHA"] = 10] = "UPPER_ALPHA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["ARABIC_INDIC"] = 11] = "ARABIC_INDIC";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["ARMENIAN"] = 12] = "ARMENIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["BENGALI"] = 13] = "BENGALI";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CAMBODIAN"] = 14] = "CAMBODIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_EARTHLY_BRANCH"] = 15] = "CJK_EARTHLY_BRANCH";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_HEAVENLY_STEM"] = 16] = "CJK_HEAVENLY_STEM";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_IDEOGRAPHIC"] = 17] = "CJK_IDEOGRAPHIC";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DEVANAGARI"] = 18] = "DEVANAGARI";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["ETHIOPIC_NUMERIC"] = 19] = "ETHIOPIC_NUMERIC";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["GEORGIAN"] = 20] = "GEORGIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["GUJARATI"] = 21] = "GUJARATI";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["GURMUKHI"] = 22] = "GURMUKHI";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["HEBREW"] = 22] = "HEBREW";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["HIRAGANA"] = 23] = "HIRAGANA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["HIRAGANA_IROHA"] = 24] = "HIRAGANA_IROHA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["JAPANESE_FORMAL"] = 25] = "JAPANESE_FORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["JAPANESE_INFORMAL"] = 26] = "JAPANESE_INFORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KANNADA"] = 27] = "KANNADA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KATAKANA"] = 28] = "KATAKANA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KATAKANA_IROHA"] = 29] = "KATAKANA_IROHA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KHMER"] = 30] = "KHMER";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANGUL_FORMAL"] = 31] = "KOREAN_HANGUL_FORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANJA_FORMAL"] = 32] = "KOREAN_HANJA_FORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANJA_INFORMAL"] = 33] = "KOREAN_HANJA_INFORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["LAO"] = 34] = "LAO";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ARMENIAN"] = 35] = "LOWER_ARMENIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["MALAYALAM"] = 36] = "MALAYALAM";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["MONGOLIAN"] = 37] = "MONGOLIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["MYANMAR"] = 38] = "MYANMAR";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["ORIYA"] = 39] = "ORIYA";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["PERSIAN"] = 40] = "PERSIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["SIMP_CHINESE_FORMAL"] = 41] = "SIMP_CHINESE_FORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["SIMP_CHINESE_INFORMAL"] = 42] = "SIMP_CHINESE_INFORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["TAMIL"] = 43] = "TAMIL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["TELUGU"] = 44] = "TELUGU";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["THAI"] = 45] = "THAI";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["TIBETAN"] = 46] = "TIBETAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["TRAD_CHINESE_FORMAL"] = 47] = "TRAD_CHINESE_FORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["TRAD_CHINESE_INFORMAL"] = 48] = "TRAD_CHINESE_INFORMAL";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ARMENIAN"] = 49] = "UPPER_ARMENIAN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISCLOSURE_OPEN"] = 50] = "DISCLOSURE_OPEN";
        LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISCLOSURE_CLOSED"] = 51] = "DISCLOSURE_CLOSED";
    })(LIST_STYLE_TYPE || (LIST_STYLE_TYPE = {}));
    var listStyleType = {
        name: 'list-style-type',
        initialValue: 'none',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (type) {
            switch (type) {
                case 'disc':
                    return LIST_STYLE_TYPE.DISC;
                case 'circle':
                    return LIST_STYLE_TYPE.CIRCLE;
                case 'square':
                    return LIST_STYLE_TYPE.SQUARE;
                case 'decimal':
                    return LIST_STYLE_TYPE.DECIMAL;
                case 'cjk-decimal':
                    return LIST_STYLE_TYPE.CJK_DECIMAL;
                case 'decimal-leading-zero':
                    return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;
                case 'lower-roman':
                    return LIST_STYLE_TYPE.LOWER_ROMAN;
                case 'upper-roman':
                    return LIST_STYLE_TYPE.UPPER_ROMAN;
                case 'lower-greek':
                    return LIST_STYLE_TYPE.LOWER_GREEK;
                case 'lower-alpha':
                    return LIST_STYLE_TYPE.LOWER_ALPHA;
                case 'upper-alpha':
                    return LIST_STYLE_TYPE.UPPER_ALPHA;
                case 'arabic-indic':
                    return LIST_STYLE_TYPE.ARABIC_INDIC;
                case 'armenian':
                    return LIST_STYLE_TYPE.ARMENIAN;
                case 'bengali':
                    return LIST_STYLE_TYPE.BENGALI;
                case 'cambodian':
                    return LIST_STYLE_TYPE.CAMBODIAN;
                case 'cjk-earthly-branch':
                    return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;
                case 'cjk-heavenly-stem':
                    return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;
                case 'cjk-ideographic':
                    return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;
                case 'devanagari':
                    return LIST_STYLE_TYPE.DEVANAGARI;
                case 'ethiopic-numeric':
                    return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;
                case 'georgian':
                    return LIST_STYLE_TYPE.GEORGIAN;
                case 'gujarati':
                    return LIST_STYLE_TYPE.GUJARATI;
                case 'gurmukhi':
                    return LIST_STYLE_TYPE.GURMUKHI;
                case 'hebrew':
                    return LIST_STYLE_TYPE.HEBREW;
                case 'hiragana':
                    return LIST_STYLE_TYPE.HIRAGANA;
                case 'hiragana-iroha':
                    return LIST_STYLE_TYPE.HIRAGANA_IROHA;
                case 'japanese-formal':
                    return LIST_STYLE_TYPE.JAPANESE_FORMAL;
                case 'japanese-informal':
                    return LIST_STYLE_TYPE.JAPANESE_INFORMAL;
                case 'kannada':
                    return LIST_STYLE_TYPE.KANNADA;
                case 'katakana':
                    return LIST_STYLE_TYPE.KATAKANA;
                case 'katakana-iroha':
                    return LIST_STYLE_TYPE.KATAKANA_IROHA;
                case 'khmer':
                    return LIST_STYLE_TYPE.KHMER;
                case 'korean-hangul-formal':
                    return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;
                case 'korean-hanja-formal':
                    return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;
                case 'korean-hanja-informal':
                    return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;
                case 'lao':
                    return LIST_STYLE_TYPE.LAO;
                case 'lower-armenian':
                    return LIST_STYLE_TYPE.LOWER_ARMENIAN;
                case 'malayalam':
                    return LIST_STYLE_TYPE.MALAYALAM;
                case 'mongolian':
                    return LIST_STYLE_TYPE.MONGOLIAN;
                case 'myanmar':
                    return LIST_STYLE_TYPE.MYANMAR;
                case 'oriya':
                    return LIST_STYLE_TYPE.ORIYA;
                case 'persian':
                    return LIST_STYLE_TYPE.PERSIAN;
                case 'simp-chinese-formal':
                    return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;
                case 'simp-chinese-informal':
                    return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;
                case 'tamil':
                    return LIST_STYLE_TYPE.TAMIL;
                case 'telugu':
                    return LIST_STYLE_TYPE.TELUGU;
                case 'thai':
                    return LIST_STYLE_TYPE.THAI;
                case 'tibetan':
                    return LIST_STYLE_TYPE.TIBETAN;
                case 'trad-chinese-formal':
                    return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;
                case 'trad-chinese-informal':
                    return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;
                case 'upper-armenian':
                    return LIST_STYLE_TYPE.UPPER_ARMENIAN;
                case 'disclosure-open':
                    return LIST_STYLE_TYPE.DISCLOSURE_OPEN;
                case 'disclosure-closed':
                    return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;
                case 'none':
                default:
                    return LIST_STYLE_TYPE.NONE;
            }
        }
    };

    var marginForSide = function (side) { return ({
        name: "margin-" + side,
        initialValue: '0',
        prefix: false,
        type: PropertyDescriptorParsingType.TOKEN_VALUE
    }); };
    var marginTop = marginForSide('top');
    var marginRight = marginForSide('right');
    var marginBottom = marginForSide('bottom');
    var marginLeft = marginForSide('left');

    var OVERFLOW;
    (function (OVERFLOW) {
        OVERFLOW[OVERFLOW["VISIBLE"] = 0] = "VISIBLE";
        OVERFLOW[OVERFLOW["HIDDEN"] = 1] = "HIDDEN";
        OVERFLOW[OVERFLOW["SCROLL"] = 2] = "SCROLL";
        OVERFLOW[OVERFLOW["AUTO"] = 3] = "AUTO";
    })(OVERFLOW || (OVERFLOW = {}));
    var overflow = {
        name: 'overflow',
        initialValue: 'visible',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return tokens.filter(isIdentToken).map(function (overflow) {
                switch (overflow.value) {
                    case 'hidden':
                        return OVERFLOW.HIDDEN;
                    case 'scroll':
                        return OVERFLOW.SCROLL;
                    case 'auto':
                        return OVERFLOW.AUTO;
                    case 'visible':
                    default:
                        return OVERFLOW.VISIBLE;
                }
            });
        }
    };

    var OVERFLOW_WRAP;
    (function (OVERFLOW_WRAP) {
        OVERFLOW_WRAP["NORMAL"] = "normal";
        OVERFLOW_WRAP["BREAK_WORD"] = "break-word";
    })(OVERFLOW_WRAP || (OVERFLOW_WRAP = {}));
    var overflowWrap = {
        name: 'overflow-wrap',
        initialValue: 'normal',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (overflow) {
            switch (overflow) {
                case 'break-word':
                    return OVERFLOW_WRAP.BREAK_WORD;
                case 'normal':
                default:
                    return OVERFLOW_WRAP.NORMAL;
            }
        }
    };

    var paddingForSide = function (side) { return ({
        name: "padding-" + side,
        initialValue: '0',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'length-percentage'
    }); };
    var paddingTop = paddingForSide('top');
    var paddingRight = paddingForSide('right');
    var paddingBottom = paddingForSide('bottom');
    var paddingLeft = paddingForSide('left');

    var TEXT_ALIGN;
    (function (TEXT_ALIGN) {
        TEXT_ALIGN[TEXT_ALIGN["LEFT"] = 0] = "LEFT";
        TEXT_ALIGN[TEXT_ALIGN["CENTER"] = 1] = "CENTER";
        TEXT_ALIGN[TEXT_ALIGN["RIGHT"] = 2] = "RIGHT";
    })(TEXT_ALIGN || (TEXT_ALIGN = {}));
    var textAlign = {
        name: 'text-align',
        initialValue: 'left',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (textAlign) {
            switch (textAlign) {
                case 'right':
                    return TEXT_ALIGN.RIGHT;
                case 'center':
                case 'justify':
                    return TEXT_ALIGN.CENTER;
                case 'left':
                default:
                    return TEXT_ALIGN.LEFT;
            }
        }
    };

    var POSITION;
    (function (POSITION) {
        POSITION[POSITION["STATIC"] = 0] = "STATIC";
        POSITION[POSITION["RELATIVE"] = 1] = "RELATIVE";
        POSITION[POSITION["ABSOLUTE"] = 2] = "ABSOLUTE";
        POSITION[POSITION["FIXED"] = 3] = "FIXED";
        POSITION[POSITION["STICKY"] = 4] = "STICKY";
    })(POSITION || (POSITION = {}));
    var position = {
        name: 'position',
        initialValue: 'static',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (position) {
            switch (position) {
                case 'relative':
                    return POSITION.RELATIVE;
                case 'absolute':
                    return POSITION.ABSOLUTE;
                case 'fixed':
                    return POSITION.FIXED;
                case 'sticky':
                    return POSITION.STICKY;
            }
            return POSITION.STATIC;
        }
    };

    var textShadow = {
        name: 'text-shadow',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {
                return [];
            }
            return parseFunctionArgs(tokens).map(function (values) {
                var shadow = {
                    color: COLORS.TRANSPARENT,
                    offsetX: ZERO_LENGTH,
                    offsetY: ZERO_LENGTH,
                    blur: ZERO_LENGTH
                };
                var c = 0;
                for (var i = 0; i < values.length; i++) {
                    var token = values[i];
                    if (isLength(token)) {
                        if (c === 0) {
                            shadow.offsetX = token;
                        }
                        else if (c === 1) {
                            shadow.offsetY = token;
                        }
                        else {
                            shadow.blur = token;
                        }
                        c++;
                    }
                    else {
                        shadow.color = color.parse(token);
                    }
                }
                return shadow;
            });
        }
    };

    var TEXT_TRANSFORM;
    (function (TEXT_TRANSFORM) {
        TEXT_TRANSFORM[TEXT_TRANSFORM["NONE"] = 0] = "NONE";
        TEXT_TRANSFORM[TEXT_TRANSFORM["LOWERCASE"] = 1] = "LOWERCASE";
        TEXT_TRANSFORM[TEXT_TRANSFORM["UPPERCASE"] = 2] = "UPPERCASE";
        TEXT_TRANSFORM[TEXT_TRANSFORM["CAPITALIZE"] = 3] = "CAPITALIZE";
    })(TEXT_TRANSFORM || (TEXT_TRANSFORM = {}));
    var textTransform = {
        name: 'text-transform',
        initialValue: 'none',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (textTransform) {
            switch (textTransform) {
                case 'uppercase':
                    return TEXT_TRANSFORM.UPPERCASE;
                case 'lowercase':
                    return TEXT_TRANSFORM.LOWERCASE;
                case 'capitalize':
                    return TEXT_TRANSFORM.CAPITALIZE;
            }
            return TEXT_TRANSFORM.NONE;
        }
    };

    var transform = {
        name: 'transform',
        initialValue: 'none',
        prefix: true,
        type: PropertyDescriptorParsingType.VALUE,
        parse: function (token) {
            if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {
                return null;
            }
            if (token.type === TokenType.FUNCTION) {
                var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];
                if (typeof transformFunction === 'undefined') {
                    throw new Error("Attempting to parse an unsupported transform function \"" + token.name + "\"");
                }
                return transformFunction(token.values);
            }
            return null;
        }
    };
    var matrix = function (args) {
        var values = args.filter(function (arg) { return arg.type === TokenType.NUMBER_TOKEN; }).map(function (arg) { return arg.number; });
        return values.length === 6 ? values : null;
    };
    // doesn't support 3D transforms at the moment
    var matrix3d = function (args) {
        var values = args.filter(function (arg) { return arg.type === TokenType.NUMBER_TOKEN; }).map(function (arg) { return arg.number; });
        var a1 = values[0], b1 = values[1], _a = values[2], _b = values[3], a2 = values[4], b2 = values[5], _c = values[6], _d = values[7], _e = values[8], _f = values[9], _g = values[10], _h = values[11], a4 = values[12], b4 = values[13], _j = values[14], _k = values[15];
        return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;
    };
    var SUPPORTED_TRANSFORM_FUNCTIONS = {
        matrix: matrix,
        matrix3d: matrix3d
    };

    var DEFAULT_VALUE = {
        type: TokenType.PERCENTAGE_TOKEN,
        number: 50,
        flags: FLAG_INTEGER
    };
    var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];
    var transformOrigin = {
        name: 'transform-origin',
        initialValue: '50% 50%',
        prefix: true,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            var origins = tokens.filter(isLengthPercentage);
            if (origins.length !== 2) {
                return DEFAULT;
            }
            return [origins[0], origins[1]];
        }
    };

    var VISIBILITY;
    (function (VISIBILITY) {
        VISIBILITY[VISIBILITY["VISIBLE"] = 0] = "VISIBLE";
        VISIBILITY[VISIBILITY["HIDDEN"] = 1] = "HIDDEN";
        VISIBILITY[VISIBILITY["COLLAPSE"] = 2] = "COLLAPSE";
    })(VISIBILITY || (VISIBILITY = {}));
    var visibility = {
        name: 'visible',
        initialValue: 'none',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (visibility) {
            switch (visibility) {
                case 'hidden':
                    return VISIBILITY.HIDDEN;
                case 'collapse':
                    return VISIBILITY.COLLAPSE;
                case 'visible':
                default:
                    return VISIBILITY.VISIBLE;
            }
        }
    };

    var WORD_BREAK;
    (function (WORD_BREAK) {
        WORD_BREAK["NORMAL"] = "normal";
        WORD_BREAK["BREAK_ALL"] = "break-all";
        WORD_BREAK["KEEP_ALL"] = "keep-all";
    })(WORD_BREAK || (WORD_BREAK = {}));
    var wordBreak = {
        name: 'word-break',
        initialValue: 'normal',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (wordBreak) {
            switch (wordBreak) {
                case 'break-all':
                    return WORD_BREAK.BREAK_ALL;
                case 'keep-all':
                    return WORD_BREAK.KEEP_ALL;
                case 'normal':
                default:
                    return WORD_BREAK.NORMAL;
            }
        }
    };

    var zIndex = {
        name: 'z-index',
        initialValue: 'auto',
        prefix: false,
        type: PropertyDescriptorParsingType.VALUE,
        parse: function (token) {
            if (token.type === TokenType.IDENT_TOKEN) {
                return { auto: true, order: 0 };
            }
            if (isNumberToken(token)) {
                return { auto: false, order: token.number };
            }
            throw new Error("Invalid z-index number parsed");
        }
    };

    var opacity = {
        name: 'opacity',
        initialValue: '1',
        type: PropertyDescriptorParsingType.VALUE,
        prefix: false,
        parse: function (token) {
            if (isNumberToken(token)) {
                return token.number;
            }
            return 1;
        }
    };

    var textDecorationColor = {
        name: "text-decoration-color",
        initialValue: 'transparent',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'color'
    };

    var textDecorationLine = {
        name: 'text-decoration-line',
        initialValue: 'none',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            return tokens
                .filter(isIdentToken)
                .map(function (token) {
                switch (token.value) {
                    case 'underline':
                        return 1 /* UNDERLINE */;
                    case 'overline':
                        return 2 /* OVERLINE */;
                    case 'line-through':
                        return 3 /* LINE_THROUGH */;
                    case 'none':
                        return 4 /* BLINK */;
                }
                return 0 /* NONE */;
            })
                .filter(function (line) { return line !== 0 /* NONE */; });
        }
    };

    var fontFamily = {
        name: "font-family",
        initialValue: '',
        prefix: false,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            var accumulator = [];
            var results = [];
            tokens.forEach(function (token) {
                switch (token.type) {
                    case TokenType.IDENT_TOKEN:
                    case TokenType.STRING_TOKEN:
                        accumulator.push(token.value);
                        break;
                    case TokenType.NUMBER_TOKEN:
                        accumulator.push(token.number.toString());
                        break;
                    case TokenType.COMMA_TOKEN:
                        results.push(accumulator.join(' '));
                        accumulator.length = 0;
                        break;
                }
            });
            if (accumulator.length) {
                results.push(accumulator.join(' '));
            }
            return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : "'" + result + "'"); });
        }
    };

    var fontSize = {
        name: "font-size",
        initialValue: '0',
        prefix: false,
        type: PropertyDescriptorParsingType.TYPE_VALUE,
        format: 'length'
    };

    var fontWeight = {
        name: 'font-weight',
        initialValue: 'normal',
        type: PropertyDescriptorParsingType.VALUE,
        prefix: false,
        parse: function (token) {
            if (isNumberToken(token)) {
                return token.number;
            }
            if (isIdentToken(token)) {
                switch (token.value) {
                    case 'bold':
                        return 700;
                    case 'normal':
                    default:
                        return 400;
                }
            }
            return 400;
        }
    };

    var fontVariant = {
        name: 'font-variant',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            return tokens.filter(isIdentToken).map(function (token) { return token.value; });
        }
    };

    var FONT_STYLE;
    (function (FONT_STYLE) {
        FONT_STYLE["NORMAL"] = "normal";
        FONT_STYLE["ITALIC"] = "italic";
        FONT_STYLE["OBLIQUE"] = "oblique";
    })(FONT_STYLE || (FONT_STYLE = {}));
    var fontStyle = {
        name: 'font-style',
        initialValue: 'normal',
        prefix: false,
        type: PropertyDescriptorParsingType.IDENT_VALUE,
        parse: function (overflow) {
            switch (overflow) {
                case 'oblique':
                    return FONT_STYLE.OBLIQUE;
                case 'italic':
                    return FONT_STYLE.ITALIC;
                case 'normal':
                default:
                    return FONT_STYLE.NORMAL;
            }
        }
    };

    var contains = function (bit, value) { return (bit & value) !== 0; };

    var content = {
        name: 'content',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            if (tokens.length === 0) {
                return [];
            }
            var first = tokens[0];
            if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {
                return [];
            }
            return tokens;
        }
    };

    var counterIncrement = {
        name: 'counter-increment',
        initialValue: 'none',
        prefix: true,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            if (tokens.length === 0) {
                return null;
            }
            var first = tokens[0];
            if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {
                return null;
            }
            var increments = [];
            var filtered = tokens.filter(nonWhiteSpace);
            for (var i = 0; i < filtered.length; i++) {
                var counter = filtered[i];
                var next = filtered[i + 1];
                if (counter.type === TokenType.IDENT_TOKEN) {
                    var increment = next && isNumberToken(next) ? next.number : 1;
                    increments.push({ counter: counter.value, increment: increment });
                }
            }
            return increments;
        }
    };

    var counterReset = {
        name: 'counter-reset',
        initialValue: 'none',
        prefix: true,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            if (tokens.length === 0) {
                return [];
            }
            var resets = [];
            var filtered = tokens.filter(nonWhiteSpace);
            for (var i = 0; i < filtered.length; i++) {
                var counter = filtered[i];
                var next = filtered[i + 1];
                if (isIdentToken(counter) && counter.value !== 'none') {
                    var reset = next && isNumberToken(next) ? next.number : 0;
                    resets.push({ counter: counter.value, reset: reset });
                }
            }
            return resets;
        }
    };

    var quotes = {
        name: 'quotes',
        initialValue: 'none',
        prefix: true,
        type: PropertyDescriptorParsingType.LIST,
        parse: function (tokens) {
            if (tokens.length === 0) {
                return null;
            }
            var first = tokens[0];
            if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {
                return null;
            }
            var quotes = [];
            var filtered = tokens.filter(isStringToken);
            if (filtered.length % 2 !== 0) {
                return null;
            }
            for (var i = 0; i < filtered.length; i += 2) {
                var open_1 = filtered[i].value;
                var close_1 = filtered[i + 1].value;
                quotes.push({ open: open_1, close: close_1 });
            }
            return quotes;
        }
    };
    var getQuote = function (quotes, depth, open) {
        if (!quotes) {
            return '';
        }
        var quote = quotes[Math.min(depth, quotes.length - 1)];
        if (!quote) {
            return '';
        }
        return open ? quote.open : quote.close;
    };

    var boxShadow = {
        name: 'box-shadow',
        initialValue: 'none',
        type: PropertyDescriptorParsingType.LIST,
        prefix: false,
        parse: function (tokens) {
            if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {
                return [];
            }
            return parseFunctionArgs(tokens).map(function (values) {
                var shadow = {
                    color: 0x000000ff,
                    offsetX: ZERO_LENGTH,
                    offsetY: ZERO_LENGTH,
                    blur: ZERO_LENGTH,
                    spread: ZERO_LENGTH,
                    inset: false
                };
                var c = 0;
                for (var i = 0; i < values.length; i++) {
                    var token = values[i];
                    if (isIdentWithValue(token, 'inset')) {
                        shadow.inset = true;
                    }
                    else if (isLength(token)) {
                        if (c === 0) {
                            shadow.offsetX = token;
                        }
                        else if (c === 1) {
                            shadow.offsetY = token;
                        }
                        else if (c === 2) {
                            shadow.blur = token;
                        }
                        else {
                            shadow.spread = token;
                        }
                        c++;
                    }
                    else {
                        shadow.color = color.parse(token);
                    }
                }
                return shadow;
            });
        }
    };

    var CSSParsedDeclaration = /** @class */ (function () {
        function CSSParsedDeclaration(declaration) {
            this.backgroundClip = parse(backgroundClip, declaration.backgroundClip);
            this.backgroundColor = parse(backgroundColor, declaration.backgroundColor);
            this.backgroundImage = parse(backgroundImage, declaration.backgroundImage);
            this.backgroundOrigin = parse(backgroundOrigin, declaration.backgroundOrigin);
            this.backgroundPosition = parse(backgroundPosition, declaration.backgroundPosition);
            this.backgroundRepeat = parse(backgroundRepeat, declaration.backgroundRepeat);
            this.backgroundSize = parse(backgroundSize, declaration.backgroundSize);
            this.borderTopColor = parse(borderTopColor, declaration.borderTopColor);
            this.borderRightColor = parse(borderRightColor, declaration.borderRightColor);
            this.borderBottomColor = parse(borderBottomColor, declaration.borderBottomColor);
            this.borderLeftColor = parse(borderLeftColor, declaration.borderLeftColor);
            this.borderTopLeftRadius = parse(borderTopLeftRadius, declaration.borderTopLeftRadius);
            this.borderTopRightRadius = parse(borderTopRightRadius, declaration.borderTopRightRadius);
            this.borderBottomRightRadius = parse(borderBottomRightRadius, declaration.borderBottomRightRadius);
            this.borderBottomLeftRadius = parse(borderBottomLeftRadius, declaration.borderBottomLeftRadius);
            this.borderTopStyle = parse(borderTopStyle, declaration.borderTopStyle);
            this.borderRightStyle = parse(borderRightStyle, declaration.borderRightStyle);
            this.borderBottomStyle = parse(borderBottomStyle, declaration.borderBottomStyle);
            this.borderLeftStyle = parse(borderLeftStyle, declaration.borderLeftStyle);
            this.borderTopWidth = parse(borderTopWidth, declaration.borderTopWidth);
            this.borderRightWidth = parse(borderRightWidth, declaration.borderRightWidth);
            this.borderBottomWidth = parse(borderBottomWidth, declaration.borderBottomWidth);
            this.borderLeftWidth = parse(borderLeftWidth, declaration.borderLeftWidth);
            this.boxShadow = parse(boxShadow, declaration.boxShadow);
            this.color = parse(color$1, declaration.color);
            this.display = parse(display, declaration.display);
            this.float = parse(float, declaration.cssFloat);
            this.fontFamily = parse(fontFamily, declaration.fontFamily);
            this.fontSize = parse(fontSize, declaration.fontSize);
            this.fontStyle = parse(fontStyle, declaration.fontStyle);
            this.fontVariant = parse(fontVariant, declaration.fontVariant);
            this.fontWeight = parse(fontWeight, declaration.fontWeight);
            this.letterSpacing = parse(letterSpacing, declaration.letterSpacing);
            this.lineBreak = parse(lineBreak, declaration.lineBreak);
            this.lineHeight = parse(lineHeight, declaration.lineHeight);
            this.listStyleImage = parse(listStyleImage, declaration.listStyleImage);
            this.listStylePosition = parse(listStylePosition, declaration.listStylePosition);
            this.listStyleType = parse(listStyleType, declaration.listStyleType);
            this.marginTop = parse(marginTop, declaration.marginTop);
            this.marginRight = parse(marginRight, declaration.marginRight);
            this.marginBottom = parse(marginBottom, declaration.marginBottom);
            this.marginLeft = parse(marginLeft, declaration.marginLeft);
            this.opacity = parse(opacity, declaration.opacity);
            var overflowTuple = parse(overflow, declaration.overflow);
            this.overflowX = overflowTuple[0];
            this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];
            this.overflowWrap = parse(overflowWrap, declaration.overflowWrap);
            this.paddingTop = parse(paddingTop, declaration.paddingTop);
            this.paddingRight = parse(paddingRight, declaration.paddingRight);
            this.paddingBottom = parse(paddingBottom, declaration.paddingBottom);
            this.paddingLeft = parse(paddingLeft, declaration.paddingLeft);
            this.position = parse(position, declaration.position);
            this.textAlign = parse(textAlign, declaration.textAlign);
            this.textDecorationColor = parse(textDecorationColor, declaration.textDecorationColor || declaration.color);
            this.textDecorationLine = parse(textDecorationLine, declaration.textDecorationLine);
            this.textShadow = parse(textShadow, declaration.textShadow);
            this.textTransform = parse(textTransform, declaration.textTransform);
            this.transform = parse(transform, declaration.transform);
            this.transformOrigin = parse(transformOrigin, declaration.transformOrigin);
            this.visibility = parse(visibility, declaration.visibility);
            this.wordBreak = parse(wordBreak, declaration.wordBreak);
            this.zIndex = parse(zIndex, declaration.zIndex);
        }
        CSSParsedDeclaration.prototype.isVisible = function () {
            return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;
        };
        CSSParsedDeclaration.prototype.isTransparent = function () {
            return isTransparent(this.backgroundColor);
        };
        CSSParsedDeclaration.prototype.isTransformed = function () {
            return this.transform !== null;
        };
        CSSParsedDeclaration.prototype.isPositioned = function () {
            return this.position !== POSITION.STATIC;
        };
        CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {
            return this.isPositioned() && !this.zIndex.auto;
        };
        CSSParsedDeclaration.prototype.isFloating = function () {
            return this.float !== FLOAT.NONE;
        };
        CSSParsedDeclaration.prototype.isInlineLevel = function () {
            return (contains(this.display, 4 /* INLINE */) ||
                contains(this.display, 33554432 /* INLINE_BLOCK */) ||
                contains(this.display, 268435456 /* INLINE_FLEX */) ||
                contains(this.display, 536870912 /* INLINE_GRID */) ||
                contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||
                contains(this.display, 134217728 /* INLINE_TABLE */));
        };
        return CSSParsedDeclaration;
    }());
    var CSSParsedPseudoDeclaration = /** @class */ (function () {
        function CSSParsedPseudoDeclaration(declaration) {
            this.content = parse(content, declaration.content);
            this.quotes = parse(quotes, declaration.quotes);
        }
        return CSSParsedPseudoDeclaration;
    }());
    var CSSParsedCounterDeclaration = /** @class */ (function () {
        function CSSParsedCounterDeclaration(declaration) {
            this.counterIncrement = parse(counterIncrement, declaration.counterIncrement);
            this.counterReset = parse(counterReset, declaration.counterReset);
        }
        return CSSParsedCounterDeclaration;
    }());
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    var parse = function (descriptor, style) {
        var tokenizer = new Tokenizer();
        var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;
        tokenizer.write(value);
        var parser = new Parser(tokenizer.read());
        switch (descriptor.type) {
            case PropertyDescriptorParsingType.IDENT_VALUE:
                var token = parser.parseComponentValue();
                return descriptor.parse(isIdentToken(token) ? token.value : descriptor.initialValue);
            case PropertyDescriptorParsingType.VALUE:
                return descriptor.parse(parser.parseComponentValue());
            case PropertyDescriptorParsingType.LIST:
                return descriptor.parse(parser.parseComponentValues());
            case PropertyDescriptorParsingType.TOKEN_VALUE:
                return parser.parseComponentValue();
            case PropertyDescriptorParsingType.TYPE_VALUE:
                switch (descriptor.format) {
                    case 'angle':
                        return angle.parse(parser.parseComponentValue());
                    case 'color':
                        return color.parse(parser.parseComponentValue());
                    case 'image':
                        return image.parse(parser.parseComponentValue());
                    case 'length':
                        var length_1 = parser.parseComponentValue();
                        return isLength(length_1) ? length_1 : ZERO_LENGTH;
                    case 'length-percentage':
                        var value_1 = parser.parseComponentValue();
                        return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;
                }
        }
        throw new Error("Attempting to parse unsupported css format type " + descriptor.format);
    };

    var ElementContainer = /** @class */ (function () {
        function ElementContainer(element) {
            this.styles = new CSSParsedDeclaration(window.getComputedStyle(element, null));
            this.textNodes = [];
            this.elements = [];
            if (this.styles.transform !== null && isHTMLElementNode(element)) {
                // getBoundingClientRect takes transforms into account
                element.style.transform = 'none';
            }
            this.bounds = parseBounds(element);
            this.flags = 0;
        }
        return ElementContainer;
    }());

    var TextBounds = /** @class */ (function () {
        function TextBounds(text, bounds) {
            this.text = text;
            this.bounds = bounds;
        }
        return TextBounds;
    }());
    var parseTextBounds = function (value, styles, node) {
        var textList = breakText(value, styles);
        var textBounds = [];
        var offset = 0;
        textList.forEach(function (text) {
            if (styles.textDecorationLine.length || text.trim().length > 0) {
                if (FEATURES.SUPPORT_RANGE_BOUNDS) {
                    textBounds.push(new TextBounds(text, getRangeBounds(node, offset, text.length)));
                }
                else {
                    var replacementNode = node.splitText(text.length);
                    textBounds.push(new TextBounds(text, getWrapperBounds(node)));
                    node = replacementNode;
                }
            }
            else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {
                node = node.splitText(text.length);
            }
            offset += text.length;
        });
        return textBounds;
    };
    var getWrapperBounds = function (node) {
        var ownerDocument = node.ownerDocument;
        if (ownerDocument) {
            var wrapper = ownerDocument.createElement('html2canvaswrapper');
            wrapper.appendChild(node.cloneNode(true));
            var parentNode = node.parentNode;
            if (parentNode) {
                parentNode.replaceChild(wrapper, node);
                var bounds = parseBounds(wrapper);
                if (wrapper.firstChild) {
                    parentNode.replaceChild(wrapper.firstChild, wrapper);
                }
                return bounds;
            }
        }
        return new Bounds(0, 0, 0, 0);
    };
    var getRangeBounds = function (node, offset, length) {
        var ownerDocument = node.ownerDocument;
        if (!ownerDocument) {
            throw new Error('Node has no owner document');
        }
        var range = ownerDocument.createRange();
        range.setStart(node, offset);
        range.setEnd(node, offset + length);
        return Bounds.fromClientRect(range.getBoundingClientRect());
    };
    var breakText = function (value, styles) {
        return styles.letterSpacing !== 0 ? toCodePoints(value).map(function (i) { return fromCodePoint(i); }) : breakWords(value, styles);
    };
    var breakWords = function (str, styles) {
        var breaker = LineBreaker(str, {
            lineBreak: styles.lineBreak,
            wordBreak: styles.overflowWrap === OVERFLOW_WRAP.BREAK_WORD ? 'break-word' : styles.wordBreak
        });
        var words = [];
        var bk;
        while (!(bk = breaker.next()).done) {
            if (bk.value) {
                words.push(bk.value.slice());
            }
        }
        return words;
    };

    var TextContainer = /** @class */ (function () {
        function TextContainer(node, styles) {
            this.text = transform$1(node.data, styles.textTransform);
            this.textBounds = parseTextBounds(this.text, styles, node);
        }
        return TextContainer;
    }());
    var transform$1 = function (text, transform) {
        switch (transform) {
            case TEXT_TRANSFORM.LOWERCASE:
                return text.toLowerCase();
            case TEXT_TRANSFORM.CAPITALIZE:
                return text.replace(CAPITALIZE, capitalize);
            case TEXT_TRANSFORM.UPPERCASE:
                return text.toUpperCase();
            default:
                return text;
        }
    };
    var CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g;
    var capitalize = function (m, p1, p2) {
        if (m.length > 0) {
            return p1 + p2.toUpperCase();
        }
        return m;
    };

    var ImageElementContainer = /** @class */ (function (_super) {
        __extends(ImageElementContainer, _super);
        function ImageElementContainer(img) {
            var _this = _super.call(this, img) || this;
            _this.src = img.currentSrc || img.src;
            _this.intrinsicWidth = img.naturalWidth;
            _this.intrinsicHeight = img.naturalHeight;
            CacheStorage.getInstance().addImage(_this.src);
            return _this;
        }
        return ImageElementContainer;
    }(ElementContainer));

    var CanvasElementContainer = /** @class */ (function (_super) {
        __extends(CanvasElementContainer, _super);
        function CanvasElementContainer(canvas) {
            var _this = _super.call(this, canvas) || this;
            _this.canvas = canvas;
            _this.intrinsicWidth = canvas.width;
            _this.intrinsicHeight = canvas.height;
            return _this;
        }
        return CanvasElementContainer;
    }(ElementContainer));

    var SVGElementContainer = /** @class */ (function (_super) {
        __extends(SVGElementContainer, _super);
        function SVGElementContainer(img) {
            var _this = _super.call(this, img) || this;
            var s = new XMLSerializer();
            _this.svg = "data:image/svg+xml," + encodeURIComponent(s.serializeToString(img));
            _this.intrinsicWidth = img.width.baseVal.value;
            _this.intrinsicHeight = img.height.baseVal.value;
            CacheStorage.getInstance().addImage(_this.svg);
            return _this;
        }
        return SVGElementContainer;
    }(ElementContainer));

    var LIElementContainer = /** @class */ (function (_super) {
        __extends(LIElementContainer, _super);
        function LIElementContainer(element) {
            var _this = _super.call(this, element) || this;
            _this.value = element.value;
            return _this;
        }
        return LIElementContainer;
    }(ElementContainer));

    var OLElementContainer = /** @class */ (function (_super) {
        __extends(OLElementContainer, _super);
        function OLElementContainer(element) {
            var _this = _super.call(this, element) || this;
            _this.start = element.start;
            _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;
            return _this;
        }
        return OLElementContainer;
    }(ElementContainer));

    var CHECKBOX_BORDER_RADIUS = [
        {
            type: TokenType.DIMENSION_TOKEN,
            flags: 0,
            unit: 'px',
            number: 3
        }
    ];
    var RADIO_BORDER_RADIUS = [
        {
            type: TokenType.PERCENTAGE_TOKEN,
            flags: 0,
            number: 50
        }
    ];
    var reformatInputBounds = function (bounds) {
        if (bounds.width > bounds.height) {
            return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);
        }
        else if (bounds.width < bounds.height) {
            return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);
        }
        return bounds;
    };
    var getInputValue = function (node) {
        var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\u2022') : node.value;
        return value.length === 0 ? node.placeholder || '' : value;
    };
    var CHECKBOX = 'checkbox';
    var RADIO = 'radio';
    var PASSWORD = 'password';
    var INPUT_COLOR = 0x2a2a2aff;
    var InputElementContainer = /** @class */ (function (_super) {
        __extends(InputElementContainer, _super);
        function InputElementContainer(input) {
            var _this = _super.call(this, input) || this;
            _this.type = input.type.toLowerCase();
            _this.checked = input.checked;
            _this.value = getInputValue(input);
            if (_this.type === CHECKBOX || _this.type === RADIO) {
                _this.styles.backgroundColor = 0xdededeff;
                _this.styles.borderTopColor = _this.styles.borderRightColor = _this.styles.borderBottomColor = _this.styles.borderLeftColor = 0xa5a5a5ff;
                _this.styles.borderTopWidth = _this.styles.borderRightWidth = _this.styles.borderBottomWidth = _this.styles.borderLeftWidth = 1;
                _this.styles.borderTopStyle = _this.styles.borderRightStyle = _this.styles.borderBottomStyle = _this.styles.borderLeftStyle =
                    BORDER_STYLE.SOLID;
                _this.styles.backgroundClip = [BACKGROUND_CLIP.BORDER_BOX];
                _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];
                _this.bounds = reformatInputBounds(_this.bounds);
            }
            switch (_this.type) {
                case CHECKBOX:
                    _this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = CHECKBOX_BORDER_RADIUS;
                    break;
                case RADIO:
                    _this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = RADIO_BORDER_RADIUS;
                    break;
            }
            return _this;
        }
        return InputElementContainer;
    }(ElementContainer));

    var SelectElementContainer = /** @class */ (function (_super) {
        __extends(SelectElementContainer, _super);
        function SelectElementContainer(element) {
            var _this = _super.call(this, element) || this;
            var option = element.options[element.selectedIndex || 0];
            _this.value = option ? option.text || '' : '';
            return _this;
        }
        return SelectElementContainer;
    }(ElementContainer));

    var TextareaElementContainer = /** @class */ (function (_super) {
        __extends(TextareaElementContainer, _super);
        function TextareaElementContainer(element) {
            var _this = _super.call(this, element) || this;
            _this.value = element.value;
            return _this;
        }
        return TextareaElementContainer;
    }(ElementContainer));

    var parseColor = function (value) { return color.parse(Parser.create(value).parseComponentValue()); };
    var IFrameElementContainer = /** @class */ (function (_super) {
        __extends(IFrameElementContainer, _super);
        function IFrameElementContainer(iframe) {
            var _this = _super.call(this, iframe) || this;
            _this.src = iframe.src;
            _this.width = parseInt(iframe.width, 10) || 0;
            _this.height = parseInt(iframe.height, 10) || 0;
            _this.backgroundColor = _this.styles.backgroundColor;
            try {
                if (iframe.contentWindow &&
                    iframe.contentWindow.document &&
                    iframe.contentWindow.document.documentElement) {
                    _this.tree = parseTree(iframe.contentWindow.document.documentElement);
                    // http://www.w3.org/TR/css3-background/#special-backgrounds
                    var documentBackgroundColor = iframe.contentWindow.document.documentElement
                        ? parseColor(getComputedStyle(iframe.contentWindow.document.documentElement)
                            .backgroundColor)
                        : COLORS.TRANSPARENT;
                    var bodyBackgroundColor = iframe.contentWindow.document.body
                        ? parseColor(getComputedStyle(iframe.contentWindow.document.body).backgroundColor)
                        : COLORS.TRANSPARENT;
                    _this.backgroundColor = isTransparent(documentBackgroundColor)
                        ? isTransparent(bodyBackgroundColor)
                            ? _this.styles.backgroundColor
                            : bodyBackgroundColor
                        : documentBackgroundColor;
                }
            }
            catch (e) { }
            return _this;
        }
        return IFrameElementContainer;
    }(ElementContainer));

    var LIST_OWNERS = ['OL', 'UL', 'MENU'];
    var parseNodeTree = function (node, parent, root) {
        for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {
            nextNode = childNode.nextSibling;
            if (isTextNode(childNode) && childNode.data.trim().length > 0) {
                parent.textNodes.push(new TextContainer(childNode, parent.styles));
            }
            else if (isElementNode(childNode)) {
                var container = createContainer(childNode);
                if (container.styles.isVisible()) {
                    if (createsRealStackingContext(childNode, container, root)) {
                        container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;
                    }
                    else if (createsStackingContext(container.styles)) {
                        container.flags |= 2 /* CREATES_STACKING_CONTEXT */;
                    }
                    if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {
                        container.flags |= 8 /* IS_LIST_OWNER */;
                    }
                    parent.elements.push(container);
                    if (!isTextareaElement(childNode) && !isSVGElement(childNode) && !isSelectElement(childNode)) {
                        parseNodeTree(childNode, container, root);
                    }
                }
            }
        }
    };
    var createContainer = function (element) {
        if (isImageElement(element)) {
            return new ImageElementContainer(element);
        }
        if (isCanvasElement(element)) {
            return new CanvasElementContainer(element);
        }
        if (isSVGElement(element)) {
            return new SVGElementContainer(element);
        }
        if (isLIElement(element)) {
            return new LIElementContainer(element);
        }
        if (isOLElement(element)) {
            return new OLElementContainer(element);
        }
        if (isInputElement(element)) {
            return new InputElementContainer(element);
        }
        if (isSelectElement(element)) {
            return new SelectElementContainer(element);
        }
        if (isTextareaElement(element)) {
            return new TextareaElementContainer(element);
        }
        if (isIFrameElement(element)) {
            return new IFrameElementContainer(element);
        }
        return new ElementContainer(element);
    };
    var parseTree = function (element) {
        var container = createContainer(element);
        container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;
        parseNodeTree(element, container, container);
        return container;
    };
    var createsRealStackingContext = function (node, container, root) {
        return (container.styles.isPositionedWithZIndex() ||
            container.styles.opacity < 1 ||
            container.styles.isTransformed() ||
            (isBodyElement(node) && root.styles.isTransparent()));
    };
    var createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };
    var isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };
    var isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };
    var isHTMLElementNode = function (node) {
        return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);
    };
    var isSVGElementNode = function (element) {
        return typeof element.className === 'object';
    };
    var isLIElement = function (node) { return node.tagName === 'LI'; };
    var isOLElement = function (node) { return node.tagName === 'OL'; };
    var isInputElement = function (node) { return node.tagName === 'INPUT'; };
    var isHTMLElement = function (node) { return node.tagName === 'HTML'; };
    var isSVGElement = function (node) { return node.tagName === 'svg'; };
    var isBodyElement = function (node) { return node.tagName === 'BODY'; };
    var isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };
    var isImageElement = function (node) { return node.tagName === 'IMG'; };
    var isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };
    var isStyleElement = function (node) { return node.tagName === 'STYLE'; };
    var isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };
    var isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };
    var isSelectElement = function (node) { return node.tagName === 'SELECT'; };

    var CounterState = /** @class */ (function () {
        function CounterState() {
            this.counters = {};
        }
        CounterState.prototype.getCounterValue = function (name) {
            var counter = this.counters[name];
            if (counter && counter.length) {
                return counter[counter.length - 1];
            }
            return 1;
        };
        CounterState.prototype.getCounterValues = function (name) {
            var counter = this.counters[name];
            return counter ? counter : [];
        };
        CounterState.prototype.pop = function (counters) {
            var _this = this;
            counters.forEach(function (counter) { return _this.counters[counter].pop(); });
        };
        CounterState.prototype.parse = function (style) {
            var _this = this;
            var counterIncrement = style.counterIncrement;
            var counterReset = style.counterReset;
            var canReset = true;
            if (counterIncrement !== null) {
                counterIncrement.forEach(function (entry) {
                    var counter = _this.counters[entry.counter];
                    if (counter && entry.increment !== 0) {
                        canReset = false;
                        counter[Math.max(0, counter.length - 1)] += entry.increment;
                    }
                });
            }
            var counterNames = [];
            if (canReset) {
                counterReset.forEach(function (entry) {
                    var counter = _this.counters[entry.counter];
                    counterNames.push(entry.counter);
                    if (!counter) {
                        counter = _this.counters[entry.counter] = [];
                    }
                    counter.push(entry.reset);
                });
            }
            return counterNames;
        };
        return CounterState;
    }());
    var ROMAN_UPPER = {
        integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],
        values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
    };
    var ARMENIAN = {
        integers: [
            9000,
            8000,
            7000,
            6000,
            5000,
            4000,
            3000,
            2000,
            1000,
            900,
            800,
            700,
            600,
            500,
            400,
            300,
            200,
            100,
            90,
            80,
            70,
            60,
            50,
            40,
            30,
            20,
            10,
            9,
            8,
            7,
            6,
            5,
            4,
            3,
            2,
            1
        ],
        values: [
            'Ք',
            'Փ',
            'Ւ',
            'Ց',
            'Ր',
            'Տ',
            'Վ',
            'Ս',
            'Ռ',
            'Ջ',
            'Պ',
            'Չ',
            'Ո',
            'Շ',
            'Ն',
            'Յ',
            'Մ',
            'Ճ',
            'Ղ',
            'Ձ',
            'Հ',
            'Կ',
            'Ծ',
            'Խ',
            'Լ',
            'Ի',
            'Ժ',
            'Թ',
            'Ը',
            'Է',
            'Զ',
            'Ե',
            'Դ',
            'Գ',
            'Բ',
            'Ա'
        ]
    };
    var HEBREW = {
        integers: [
            10000,
            9000,
            8000,
            7000,
            6000,
            5000,
            4000,
            3000,
            2000,
            1000,
            400,
            300,
            200,
            100,
            90,
            80,
            70,
            60,
            50,
            40,
            30,
            20,
            19,
            18,
            17,
            16,
            15,
            10,
            9,
            8,
            7,
            6,
            5,
            4,
            3,
            2,
            1
        ],
        values: [
            'י׳',
            'ט׳',
            'ח׳',
            'ז׳',
            'ו׳',
            'ה׳',
            'ד׳',
            'ג׳',
            'ב׳',
            'א׳',
            'ת',
            'ש',
            'ר',
            'ק',
            'צ',
            'פ',
            'ע',
            'ס',
            'נ',
            'מ',
            'ל',
            'כ',
            'יט',
            'יח',
            'יז',
            'טז',
            'טו',
            'י',
            'ט',
            'ח',
            'ז',
            'ו',
            'ה',
            'ד',
            'ג',
            'ב',
            'א'
        ]
    };
    var GEORGIAN = {
        integers: [
            10000,
            9000,
            8000,
            7000,
            6000,
            5000,
            4000,
            3000,
            2000,
            1000,
            900,
            800,
            700,
            600,
            500,
            400,
            300,
            200,
            100,
            90,
            80,
            70,
            60,
            50,
            40,
            30,
            20,
            10,
            9,
            8,
            7,
            6,
            5,
            4,
            3,
            2,
            1
        ],
        values: [
            'ჵ',
            'ჰ',
            'ჯ',
            'ჴ',
            'ხ',
            'ჭ',
            'წ',
            'ძ',
            'ც',
            'ჩ',
            'შ',
            'ყ',
            'ღ',
            'ქ',
            'ფ',
            'ჳ',
            'ტ',
            'ს',
            'რ',
            'ჟ',
            'პ',
            'ო',
            'ჲ',
            'ნ',
            'მ',
            'ლ',
            'კ',
            'ი',
            'თ',
            'ჱ',
            'ზ',
            'ვ',
            'ე',
            'დ',
            'გ',
            'ბ',
            'ა'
        ]
    };
    var createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {
        if (value < min || value > max) {
            return createCounterText(value, fallback, suffix.length > 0);
        }
        return (symbols.integers.reduce(function (string, integer, index) {
            while (value >= integer) {
                value -= integer;
                string += symbols.values[index];
            }
            return string;
        }, '') + suffix);
    };
    var createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {
        var string = '';
        do {
            if (!isNumeric) {
                value--;
            }
            string = resolver(value) + string;
            value /= codePointRangeLength;
        } while (value * codePointRangeLength >= codePointRangeLength);
        return string;
    };
    var createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {
        var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;
        return ((value < 0 ? '-' : '') +
            (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {
                return fromCodePoint(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);
            }) +
                suffix));
    };
    var createCounterStyleFromSymbols = function (value, symbols, suffix) {
        if (suffix === void 0) { suffix = '. '; }
        var codePointRangeLength = symbols.length;
        return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);
    };
    var CJK_ZEROS = 1 << 0;
    var CJK_TEN_COEFFICIENTS = 1 << 1;
    var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;
    var CJK_HUNDRED_COEFFICIENTS = 1 << 3;
    var createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {
        if (value < -9999 || value > 9999) {
            return createCounterText(value, LIST_STYLE_TYPE.CJK_DECIMAL, suffix.length > 0);
        }
        var tmp = Math.abs(value);
        var string = suffix;
        if (tmp === 0) {
            return numbers[0] + string;
        }
        for (var digit = 0; tmp > 0 && digit <= 4; digit++) {
            var coefficient = tmp % 10;
            if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {
                string = numbers[coefficient] + string;
            }
            else if (coefficient > 1 ||
                (coefficient === 1 && digit === 0) ||
                (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||
                (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||
                (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {
                string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;
            }
            else if (coefficient === 1 && digit > 0) {
                string = multipliers[digit - 1] + string;
            }
            tmp = Math.floor(tmp / 10);
        }
        return (value < 0 ? negativeSign : '') + string;
    };
    var CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';
    var CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';
    var JAPANESE_NEGATIVE = 'マイナス';
    var KOREAN_NEGATIVE = '마이너스';
    var createCounterText = function (value, type, appendSuffix) {
        var defaultSuffix = appendSuffix ? '. ' : '';
        var cjkSuffix = appendSuffix ? '、' : '';
        var koreanSuffix = appendSuffix ? ', ' : '';
        var spaceSuffix = appendSuffix ? ' ' : '';
        switch (type) {
            case LIST_STYLE_TYPE.DISC:
                return '•' + spaceSuffix;
            case LIST_STYLE_TYPE.CIRCLE:
                return '◦' + spaceSuffix;
            case LIST_STYLE_TYPE.SQUARE:
                return '◾' + spaceSuffix;
            case LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO:
                var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
                return string.length < 4 ? "0" + string : string;
            case LIST_STYLE_TYPE.CJK_DECIMAL:
                return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);
            case LIST_STYLE_TYPE.LOWER_ROMAN:
                return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase();
            case LIST_STYLE_TYPE.UPPER_ROMAN:
                return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, LIST_STYLE_TYPE.DECIMAL, defaultSuffix);
            case LIST_STYLE_TYPE.LOWER_GREEK:
                return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);
            case LIST_STYLE_TYPE.LOWER_ALPHA:
                return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);
            case LIST_STYLE_TYPE.UPPER_ALPHA:
                return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);
            case LIST_STYLE_TYPE.ARABIC_INDIC:
                return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);
            case LIST_STYLE_TYPE.ARMENIAN:
            case LIST_STYLE_TYPE.UPPER_ARMENIAN:
                return createAdditiveCounter(value, 1, 9999, ARMENIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix);
            case LIST_STYLE_TYPE.LOWER_ARMENIAN:
                return createAdditiveCounter(value, 1, 9999, ARMENIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase();
            case LIST_STYLE_TYPE.BENGALI:
                return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);
            case LIST_STYLE_TYPE.CAMBODIAN:
            case LIST_STYLE_TYPE.KHMER:
                return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);
            case LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH:
                return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);
            case LIST_STYLE_TYPE.CJK_HEAVENLY_STEM:
                return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);
            case LIST_STYLE_TYPE.CJK_IDEOGRAPHIC:
            case LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL:
                return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
            case LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL:
                return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
            case LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL:
                return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
            case LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL:
                return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
            case LIST_STYLE_TYPE.JAPANESE_INFORMAL:
                return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);
            case LIST_STYLE_TYPE.JAPANESE_FORMAL:
                return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
            case LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL:
                return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
            case LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL:
                return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);
            case LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL:
                return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
            case LIST_STYLE_TYPE.DEVANAGARI:
                return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);
            case LIST_STYLE_TYPE.GEORGIAN:
                return createAdditiveCounter(value, 1, 19999, GEORGIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix);
            case LIST_STYLE_TYPE.GUJARATI:
                return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);
            case LIST_STYLE_TYPE.GURMUKHI:
                return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);
            case LIST_STYLE_TYPE.HEBREW:
                return createAdditiveCounter(value, 1, 10999, HEBREW, LIST_STYLE_TYPE.DECIMAL, defaultSuffix);
            case LIST_STYLE_TYPE.HIRAGANA:
                return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');
            case LIST_STYLE_TYPE.HIRAGANA_IROHA:
                return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');
            case LIST_STYLE_TYPE.KANNADA:
                return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);
            case LIST_STYLE_TYPE.KATAKANA:
                return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);
            case LIST_STYLE_TYPE.KATAKANA_IROHA:
                return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);
            case LIST_STYLE_TYPE.LAO:
                return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);
            case LIST_STYLE_TYPE.MONGOLIAN:
                return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);
            case LIST_STYLE_TYPE.MYANMAR:
                return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);
            case LIST_STYLE_TYPE.ORIYA:
                return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);
            case LIST_STYLE_TYPE.PERSIAN:
                return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);
            case LIST_STYLE_TYPE.TAMIL:
                return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);
            case LIST_STYLE_TYPE.TELUGU:
                return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);
            case LIST_STYLE_TYPE.THAI:
                return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);
            case LIST_STYLE_TYPE.TIBETAN:
                return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);
            case LIST_STYLE_TYPE.DECIMAL:
            default:
                return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
        }
    };

    var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';
    var DocumentCloner = /** @class */ (function () {
        function DocumentCloner(element, options) {
            this.options = options;
            this.scrolledElements = [];
            this.referenceElement = element;
            this.counters = new CounterState();
            this.quoteDepth = 0;
            if (!element.ownerDocument) {
                throw new Error('Cloned element does not have an owner document');
            }
            this.documentElement = this.cloneNode(element.ownerDocument.documentElement);
        }
        DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {
            var _this = this;
            var iframe = createIFrameContainer(ownerDocument, windowSize);
            if (!iframe.contentWindow) {
                return Promise.reject("Unable to find iframe window");
            }
            var scrollX = ownerDocument.defaultView.pageXOffset;
            var scrollY = ownerDocument.defaultView.pageYOffset;
            var cloneWindow = iframe.contentWindow;
            var documentClone = cloneWindow.document;
            /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle
             if window url is about:blank, we can assign the url to current by writing onto the document
             */
            var iframeLoad = iframeLoader(iframe).then(function () { return __awaiter(_this, void 0, void 0, function () {
                var onclone;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            this.scrolledElements.forEach(restoreNodeScroll);
                            if (cloneWindow) {
                                cloneWindow.scrollTo(windowSize.left, windowSize.top);
                                if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) &&
                                    (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) {
                                    documentClone.documentElement.style.top = -windowSize.top + 'px';
                                    documentClone.documentElement.style.left = -windowSize.left + 'px';
                                    documentClone.documentElement.style.position = 'absolute';
                                }
                            }
                            onclone = this.options.onclone;
                            if (typeof this.clonedReferenceElement === 'undefined') {
                                return [2 /*return*/, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")];
                            }
                            if (!(documentClone.fonts && documentClone.fonts.ready)) return [3 /*break*/, 2];
                            return [4 /*yield*/, documentClone.fonts.ready];
                        case 1:
                            _a.sent();
                            _a.label = 2;
                        case 2:
                            if (typeof onclone === 'function') {
                                return [2 /*return*/, Promise.resolve()
                                        .then(function () { return onclone(documentClone); })
                                        .then(function () { return iframe; })];
                            }
                            return [2 /*return*/, iframe];
                    }
                });
            }); });
            documentClone.open();
            documentClone.write(serializeDoctype(document.doctype) + "<html></html>");
            // Chrome scrolls the parent document for some reason after the write to the cloned window???
            restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY);
            documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement);
            documentClone.close();
            return iframeLoad;
        };
        DocumentCloner.prototype.createElementClone = function (node) {
            if (isCanvasElement(node)) {
                return this.createCanvasClone(node);
            }
            /*
            if (isIFrameElement(node)) {
                return this.createIFrameClone(node);
            }
    */
            if (isStyleElement(node)) {
                return this.createStyleClone(node);
            }
            var clone = node.cloneNode(false);
            // @ts-ignore
            if (isImageElement(clone) && clone.loading === 'lazy') {
                // @ts-ignore
                clone.loading = 'eager';
            }
            return clone;
        };
        DocumentCloner.prototype.createStyleClone = function (node) {
            try {
                var sheet = node.sheet;
                if (sheet && sheet.cssRules) {
                    var css = [].slice.call(sheet.cssRules, 0).reduce(function (css, rule) {
                        if (rule && typeof rule.cssText === 'string') {
                            return css + rule.cssText;
                        }
                        return css;
                    }, '');
                    var style = node.cloneNode(false);
                    style.textContent = css;
                    return style;
                }
            }
            catch (e) {
                // accessing node.sheet.cssRules throws a DOMException
                Logger.getInstance(this.options.id).error('Unable to access cssRules property', e);
                if (e.name !== 'SecurityError') {
                    throw e;
                }
            }
            return node.cloneNode(false);
        };
        DocumentCloner.prototype.createCanvasClone = function (canvas) {
            if (this.options.inlineImages && canvas.ownerDocument) {
                var img = canvas.ownerDocument.createElement('img');
                try {
                    img.src = canvas.toDataURL();
                    return img;
                }
                catch (e) {
                    Logger.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted");
                }
            }
            var clonedCanvas = canvas.cloneNode(false);
            try {
                clonedCanvas.width = canvas.width;
                clonedCanvas.height = canvas.height;
                var ctx = canvas.getContext('2d');
                var clonedCtx = clonedCanvas.getContext('2d');
                if (clonedCtx) {
                    if (ctx) {
                        clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);
                    }
                    else {
                        clonedCtx.drawImage(canvas, 0, 0);
                    }
                }
                return clonedCanvas;
            }
            catch (e) { }
            return clonedCanvas;
        };
        /*
        createIFrameClone(iframe: HTMLIFrameElement) {
            const tempIframe = <HTMLIFrameElement>iframe.cloneNode(false);
            const iframeKey = generateIframeKey();
            tempIframe.setAttribute('data-html2canvas-internal-iframe-key', iframeKey);

            const {width, height} = parseBounds(iframe);

            this.resourceLoader.cache[iframeKey] = getIframeDocumentElement(iframe, this.options)
                .then(documentElement => {
                    return this.renderer(
                        documentElement,
                        {
                            allowTaint: this.options.allowTaint,
                            backgroundColor: '#ffffff',
                            canvas: null,
                            imageTimeout: this.options.imageTimeout,
                            logging: this.options.logging,
                            proxy: this.options.proxy,
                            removeContainer: this.options.removeContainer,
                            scale: this.options.scale,
                            foreignObjectRendering: this.options.foreignObjectRendering,
                            useCORS: this.options.useCORS,
                            target: new CanvasRenderer(),
                            width,
                            height,
                            x: 0,
                            y: 0,
                            windowWidth: documentElement.ownerDocument.defaultView.innerWidth,
                            windowHeight: documentElement.ownerDocument.defaultView.innerHeight,
                            scrollX: documentElement.ownerDocument.defaultView.pageXOffset,
                            scrollY: documentElement.ownerDocument.defaultView.pageYOffset
                        },
                    );
                })
                .then(
                    (canvas: HTMLCanvasElement) =>
                        new Promise((resolve, reject) => {
                            const iframeCanvas = document.createElement('img');
                            iframeCanvas.onload = () => resolve(canvas);
                            iframeCanvas.onerror = (event) => {
                                // Empty iframes may result in empty "data:," URLs, which are invalid from the <img>'s point of view
                                // and instead of `onload` cause `onerror` and unhandled rejection warnings
                                // https://github.com/niklasvh/html2canvas/issues/1502
                                iframeCanvas.src == 'data:,' ? resolve(canvas) : reject(event);
                            };
                            iframeCanvas.src = canvas.toDataURL();
                            if (tempIframe.parentNode && iframe.ownerDocument && iframe.ownerDocument.defaultView) {
                                tempIframe.parentNode.replaceChild(
                                    copyCSSStyles(
                                        iframe.ownerDocument.defaultView.getComputedStyle(iframe),
                                        iframeCanvas
                                    ),
                                    tempIframe
                                );
                            }
                        })
                );
            return tempIframe;
        }
    */
        DocumentCloner.prototype.cloneNode = function (node) {
            if (isTextNode(node)) {
                return document.createTextNode(node.data);
            }
            if (!node.ownerDocument) {
                return node.cloneNode(false);
            }
            var window = node.ownerDocument.defaultView;
            if (window && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {
                var clone = this.createElementClone(node);
                var style = window.getComputedStyle(node);
                var styleBefore = window.getComputedStyle(node, ':before');
                var styleAfter = window.getComputedStyle(node, ':after');
                if (this.referenceElement === node && isHTMLElementNode(clone)) {
                    this.clonedReferenceElement = clone;
                }
                if (isBodyElement(clone)) {
                    createPseudoHideStyles(clone);
                }
                var counters = this.counters.parse(new CSSParsedCounterDeclaration(style));
                var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE);
                for (var child = node.firstChild; child; child = child.nextSibling) {
                    if (!isElementNode(child) ||
                        (!isScriptElement(child) &&
                            !child.hasAttribute(IGNORE_ATTRIBUTE) &&
                            (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))) {
                        if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) {
                            clone.appendChild(this.cloneNode(child));
                        }
                    }
                }
                if (before) {
                    clone.insertBefore(before, clone.firstChild);
                }
                var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER);
                if (after) {
                    clone.appendChild(after);
                }
                this.counters.pop(counters);
                if (style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node)) {
                    copyCSSStyles(style, clone);
                }
                //this.inlineAllImages(clone);
                if (node.scrollTop !== 0 || node.scrollLeft !== 0) {
                    this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]);
                }
                if ((isTextareaElement(node) || isSelectElement(node)) &&
                    (isTextareaElement(clone) || isSelectElement(clone))) {
                    clone.value = node.value;
                }
                return clone;
            }
            return node.cloneNode(false);
        };
        DocumentCloner.prototype.resolvePseudoContent = function (node, clone, style, pseudoElt) {
            var _this = this;
            if (!style) {
                return;
            }
            var value = style.content;
            var document = clone.ownerDocument;
            if (!document || !value || value === 'none' || value === '-moz-alt-content' || style.display === 'none') {
                return;
            }
            this.counters.parse(new CSSParsedCounterDeclaration(style));
            var declaration = new CSSParsedPseudoDeclaration(style);
            var anonymousReplacedElement = document.createElement('html2canvaspseudoelement');
            copyCSSStyles(style, anonymousReplacedElement);
            declaration.content.forEach(function (token) {
                if (token.type === TokenType.STRING_TOKEN) {
                    anonymousReplacedElement.appendChild(document.createTextNode(token.value));
                }
                else if (token.type === TokenType.URL_TOKEN) {
                    var img = document.createElement('img');
                    img.src = token.value;
                    img.style.opacity = '1';
                    anonymousReplacedElement.appendChild(img);
                }
                else if (token.type === TokenType.FUNCTION) {
                    if (token.name === 'attr') {
                        var attr = token.values.filter(isIdentToken);
                        if (attr.length) {
                            anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value) || ''));
                        }
                    }
                    else if (token.name === 'counter') {
                        var _a = token.values.filter(nonFunctionArgSeparator), counter = _a[0], counterStyle = _a[1];
                        if (counter && isIdentToken(counter)) {
                            var counterState = _this.counters.getCounterValue(counter.value);
                            var counterType = counterStyle && isIdentToken(counterStyle)
                                ? listStyleType.parse(counterStyle.value)
                                : LIST_STYLE_TYPE.DECIMAL;
                            anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState, counterType, false)));
                        }
                    }
                    else if (token.name === 'counters') {
                        var _b = token.values.filter(nonFunctionArgSeparator), counter = _b[0], delim = _b[1], counterStyle = _b[2];
                        if (counter && isIdentToken(counter)) {
                            var counterStates = _this.counters.getCounterValues(counter.value);
                            var counterType_1 = counterStyle && isIdentToken(counterStyle)
                                ? listStyleType.parse(counterStyle.value)
                                : LIST_STYLE_TYPE.DECIMAL;
                            var separator = delim && delim.type === TokenType.STRING_TOKEN ? delim.value : '';
                            var text = counterStates
                                .map(function (value) { return createCounterText(value, counterType_1, false); })
                                .join(separator);
                            anonymousReplacedElement.appendChild(document.createTextNode(text));
                        }
                    }
                }
                else if (token.type === TokenType.IDENT_TOKEN) {
                    switch (token.value) {
                        case 'open-quote':
                            anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true)));
                            break;
                        case 'close-quote':
                            anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false)));
                            break;
                        default:
                            // safari doesn't parse string tokens correctly because of lack of quotes
                            anonymousReplacedElement.appendChild(document.createTextNode(token.value));
                    }
                }
            });
            anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;
            var newClassName = pseudoElt === PseudoElementType.BEFORE
                ? " " + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE
                : " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;
            if (isSVGElementNode(clone)) {
                clone.className.baseValue += newClassName;
            }
            else {
                clone.className += newClassName;
            }
            return anonymousReplacedElement;
        };
        DocumentCloner.destroy = function (container) {
            if (container.parentNode) {
                container.parentNode.removeChild(container);
                return true;
            }
            return false;
        };
        return DocumentCloner;
    }());
    var PseudoElementType;
    (function (PseudoElementType) {
        PseudoElementType[PseudoElementType["BEFORE"] = 0] = "BEFORE";
        PseudoElementType[PseudoElementType["AFTER"] = 1] = "AFTER";
    })(PseudoElementType || (PseudoElementType = {}));
    var createIFrameContainer = function (ownerDocument, bounds) {
        var cloneIframeContainer = ownerDocument.createElement('iframe');
        cloneIframeContainer.className = 'html2canvas-container';
        cloneIframeContainer.style.visibility = 'hidden';
        cloneIframeContainer.style.position = 'fixed';
        cloneIframeContainer.style.left = '-10000px';
        cloneIframeContainer.style.top = '0px';
        cloneIframeContainer.style.border = '0';
        cloneIframeContainer.width = bounds.width.toString();
        cloneIframeContainer.height = bounds.height.toString();
        cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it
        cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true');
        ownerDocument.body.appendChild(cloneIframeContainer);
        return cloneIframeContainer;
    };
    var iframeLoader = function (iframe) {
        return new Promise(function (resolve, reject) {
            var cloneWindow = iframe.contentWindow;
            if (!cloneWindow) {
                return reject("No window assigned for iframe");
            }
            var documentClone = cloneWindow.document;
            cloneWindow.onload = iframe.onload = documentClone.onreadystatechange = function () {
                cloneWindow.onload = iframe.onload = documentClone.onreadystatechange = null;
                var interval = setInterval(function () {
                    if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') {
                        clearInterval(interval);
                        resolve(iframe);
                    }
                }, 50);
            };
        });
    };
    var copyCSSStyles = function (style, target) {
        // Edge does not provide value for cssText
        for (var i = style.length - 1; i >= 0; i--) {
            var property = style.item(i);
            // Safari shows pseudoelements if content is set
            if (property !== 'content') {
                target.style.setProperty(property, style.getPropertyValue(property));
            }
        }
        return target;
    };
    var serializeDoctype = function (doctype) {
        var str = '';
        if (doctype) {
            str += '<!DOCTYPE ';
            if (doctype.name) {
                str += doctype.name;
            }
            if (doctype.internalSubset) {
                str += doctype.internalSubset;
            }
            if (doctype.publicId) {
                str += "\"" + doctype.publicId + "\"";
            }
            if (doctype.systemId) {
                str += "\"" + doctype.systemId + "\"";
            }
            str += '>';
        }
        return str;
    };
    var restoreOwnerScroll = function (ownerDocument, x, y) {
        if (ownerDocument &&
            ownerDocument.defaultView &&
            (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) {
            ownerDocument.defaultView.scrollTo(x, y);
        }
    };
    var restoreNodeScroll = function (_a) {
        var element = _a[0], x = _a[1], y = _a[2];
        element.scrollLeft = x;
        element.scrollTop = y;
    };
    var PSEUDO_BEFORE = ':before';
    var PSEUDO_AFTER = ':after';
    var PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before';
    var PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after';
    var PSEUDO_HIDE_ELEMENT_STYLE = "{\n    content: \"\" !important;\n    display: none !important;\n}";
    var createPseudoHideStyles = function (body) {
        createStyles(body, "." + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + "\n         ." + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE);
    };
    var createStyles = function (body, styles) {
        var document = body.ownerDocument;
        if (document) {
            var style = document.createElement('style');
            style.textContent = styles;
            body.appendChild(style);
        }
    };

    var PathType;
    (function (PathType) {
        PathType[PathType["VECTOR"] = 0] = "VECTOR";
        PathType[PathType["BEZIER_CURVE"] = 1] = "BEZIER_CURVE";
    })(PathType || (PathType = {}));
    var equalPath = function (a, b) {
        if (a.length === b.length) {
            return a.some(function (v, i) { return v === b[i]; });
        }
        return false;
    };
    var transformPath = function (path, deltaX, deltaY, deltaW, deltaH) {
        return path.map(function (point, index) {
            switch (index) {
                case 0:
                    return point.add(deltaX, deltaY);
                case 1:
                    return point.add(deltaX + deltaW, deltaY);
                case 2:
                    return point.add(deltaX + deltaW, deltaY + deltaH);
                case 3:
                    return point.add(deltaX, deltaY + deltaH);
            }
            return point;
        });
    };

    var Vector = /** @class */ (function () {
        function Vector(x, y) {
            this.type = PathType.VECTOR;
            this.x = x;
            this.y = y;
        }
        Vector.prototype.add = function (deltaX, deltaY) {
            return new Vector(this.x + deltaX, this.y + deltaY);
        };
        return Vector;
    }());

    var lerp = function (a, b, t) {
        return new Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
    };
    var BezierCurve = /** @class */ (function () {
        function BezierCurve(start, startControl, endControl, end) {
            this.type = PathType.BEZIER_CURVE;
            this.start = start;
            this.startControl = startControl;
            this.endControl = endControl;
            this.end = end;
        }
        BezierCurve.prototype.subdivide = function (t, firstHalf) {
            var ab = lerp(this.start, this.startControl, t);
            var bc = lerp(this.startControl, this.endControl, t);
            var cd = lerp(this.endControl, this.end, t);
            var abbc = lerp(ab, bc, t);
            var bccd = lerp(bc, cd, t);
            var dest = lerp(abbc, bccd, t);
            return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end);
        };
        BezierCurve.prototype.add = function (deltaX, deltaY) {
            return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));
        };
        BezierCurve.prototype.reverse = function () {
            return new BezierCurve(this.end, this.endControl, this.startControl, this.start);
        };
        return BezierCurve;
    }());
    var isBezierCurve = function (path) { return path.type === PathType.BEZIER_CURVE; };

    var BoundCurves = /** @class */ (function () {
        function BoundCurves(element) {
            var styles = element.styles;
            var bounds = element.bounds;
            var _a = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a[0], tlv = _a[1];
            var _b = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b[0], trv = _b[1];
            var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1];
            var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1];
            var factors = [];
            factors.push((tlh + trh) / bounds.width);
            factors.push((blh + brh) / bounds.width);
            factors.push((tlv + blv) / bounds.height);
            factors.push((trv + brv) / bounds.height);
            var maxFactor = Math.max.apply(Math, factors);
            if (maxFactor > 1) {
                tlh /= maxFactor;
                tlv /= maxFactor;
                trh /= maxFactor;
                trv /= maxFactor;
                brh /= maxFactor;
                brv /= maxFactor;
                blh /= maxFactor;
                blv /= maxFactor;
            }
            var topWidth = bounds.width - trh;
            var rightHeight = bounds.height - brv;
            var bottomWidth = bounds.width - brh;
            var leftHeight = bounds.height - blv;
            var borderTopWidth = styles.borderTopWidth;
            var borderRightWidth = styles.borderRightWidth;
            var borderBottomWidth = styles.borderBottomWidth;
            var borderLeftWidth = styles.borderLeftWidth;
            var paddingTop = getAbsoluteValue(styles.paddingTop, element.bounds.width);
            var paddingRight = getAbsoluteValue(styles.paddingRight, element.bounds.width);
            var paddingBottom = getAbsoluteValue(styles.paddingBottom, element.bounds.width);
            var paddingLeft = getAbsoluteValue(styles.paddingLeft, element.bounds.width);
            this.topLeftBorderBox =
                tlh > 0 || tlv > 0
                    ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT)
                    : new Vector(bounds.left, bounds.top);
            this.topRightBorderBox =
                trh > 0 || trv > 0
                    ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT)
                    : new Vector(bounds.left + bounds.width, bounds.top);
            this.bottomRightBorderBox =
                brh > 0 || brv > 0
                    ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT)
                    : new Vector(bounds.left + bounds.width, bounds.top + bounds.height);
            this.bottomLeftBorderBox =
                blh > 0 || blv > 0
                    ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT)
                    : new Vector(bounds.left, bounds.top + bounds.height);
            this.topLeftPaddingBox =
                tlh > 0 || tlv > 0
                    ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + borderTopWidth, Math.max(0, tlh - borderLeftWidth), Math.max(0, tlv - borderTopWidth), CORNER.TOP_LEFT)
                    : new Vector(bounds.left + borderLeftWidth, bounds.top + borderTopWidth);
            this.topRightPaddingBox =
                trh > 0 || trv > 0
                    ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth), bounds.top + borderTopWidth, topWidth > bounds.width + borderLeftWidth ? 0 : trh - borderLeftWidth, trv - borderTopWidth, CORNER.TOP_RIGHT)
                    : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + borderTopWidth);
            this.bottomRightPaddingBox =
                brh > 0 || brv > 0
                    ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth), Math.max(0, brh - borderRightWidth), brv - borderBottomWidth, CORNER.BOTTOM_RIGHT)
                    : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + bounds.height - borderBottomWidth);
            this.bottomLeftPaddingBox =
                blh > 0 || blv > 0
                    ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + leftHeight, Math.max(0, blh - borderLeftWidth), blv - borderBottomWidth, CORNER.BOTTOM_LEFT)
                    : new Vector(bounds.left + borderLeftWidth, bounds.top + bounds.height - borderBottomWidth);
            this.topLeftContentBox =
                tlh > 0 || tlv > 0
                    ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop, Math.max(0, tlh - (borderLeftWidth + paddingLeft)), Math.max(0, tlv - (borderTopWidth + paddingTop)), CORNER.TOP_LEFT)
                    : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop);
            this.topRightContentBox =
                trh > 0 || trv > 0
                    ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth + paddingLeft), bounds.top + borderTopWidth + paddingTop, topWidth > bounds.width + borderLeftWidth + paddingLeft ? 0 : trh - borderLeftWidth + paddingLeft, trv - (borderTopWidth + paddingTop), CORNER.TOP_RIGHT)
                    : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + borderTopWidth + paddingTop);
            this.bottomRightContentBox =
                brh > 0 || brv > 0
                    ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth + paddingLeft)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth + paddingTop), Math.max(0, brh - (borderRightWidth + paddingRight)), brv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_RIGHT)
                    : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + bounds.height - (borderBottomWidth + paddingBottom));
            this.bottomLeftContentBox =
                blh > 0 || blv > 0
                    ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth + paddingLeft)), blv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_LEFT)
                    : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + bounds.height - (borderBottomWidth + paddingBottom));
        }
        return BoundCurves;
    }());
    var CORNER;
    (function (CORNER) {
        CORNER[CORNER["TOP_LEFT"] = 0] = "TOP_LEFT";
        CORNER[CORNER["TOP_RIGHT"] = 1] = "TOP_RIGHT";
        CORNER[CORNER["BOTTOM_RIGHT"] = 2] = "BOTTOM_RIGHT";
        CORNER[CORNER["BOTTOM_LEFT"] = 3] = "BOTTOM_LEFT";
    })(CORNER || (CORNER = {}));
    var getCurvePoints = function (x, y, r1, r2, position) {
        var kappa = 4 * ((Math.sqrt(2) - 1) / 3);
        var ox = r1 * kappa; // control point offset horizontal
        var oy = r2 * kappa; // control point offset vertical
        var xm = x + r1; // x-middle
        var ym = y + r2; // y-middle
        switch (position) {
            case CORNER.TOP_LEFT:
                return new BezierCurve(new Vector(x, ym), new Vector(x, ym - oy), new Vector(xm - ox, y), new Vector(xm, y));
            case CORNER.TOP_RIGHT:
                return new BezierCurve(new Vector(x, y), new Vector(x + ox, y), new Vector(xm, ym - oy), new Vector(xm, ym));
            case CORNER.BOTTOM_RIGHT:
                return new BezierCurve(new Vector(xm, y), new Vector(xm, y + oy), new Vector(x + ox, ym), new Vector(x, ym));
            case CORNER.BOTTOM_LEFT:
            default:
                return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x, y + oy), new Vector(x, y));
        }
    };
    var calculateBorderBoxPath = function (curves) {
        return [curves.topLeftBorderBox, curves.topRightBorderBox, curves.bottomRightBorderBox, curves.bottomLeftBorderBox];
    };
    var calculateContentBoxPath = function (curves) {
        return [
            curves.topLeftContentBox,
            curves.topRightContentBox,
            curves.bottomRightContentBox,
            curves.bottomLeftContentBox
        ];
    };
    var calculatePaddingBoxPath = function (curves) {
        return [
            curves.topLeftPaddingBox,
            curves.topRightPaddingBox,
            curves.bottomRightPaddingBox,
            curves.bottomLeftPaddingBox
        ];
    };

    var TransformEffect = /** @class */ (function () {
        function TransformEffect(offsetX, offsetY, matrix) {
            this.type = 0 /* TRANSFORM */;
            this.offsetX = offsetX;
            this.offsetY = offsetY;
            this.matrix = matrix;
            this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;
        }
        return TransformEffect;
    }());
    var ClipEffect = /** @class */ (function () {
        function ClipEffect(path, target) {
            this.type = 1 /* CLIP */;
            this.target = target;
            this.path = path;
        }
        return ClipEffect;
    }());
    var isTransformEffect = function (effect) {
        return effect.type === 0 /* TRANSFORM */;
    };
    var isClipEffect = function (effect) { return effect.type === 1 /* CLIP */; };

    var StackingContext = /** @class */ (function () {
        function StackingContext(container) {
            this.element = container;
            this.inlineLevel = [];
            this.nonInlineLevel = [];
            this.negativeZIndex = [];
            this.zeroOrAutoZIndexOrTransformedOrOpacity = [];
            this.positiveZIndex = [];
            this.nonPositionedFloats = [];
            this.nonPositionedInlineLevel = [];
        }
        return StackingContext;
    }());
    var ElementPaint = /** @class */ (function () {
        function ElementPaint(element, parentStack) {
            this.container = element;
            this.effects = parentStack.slice(0);
            this.curves = new BoundCurves(element);
            if (element.styles.transform !== null) {
                var offsetX = element.bounds.left + element.styles.transformOrigin[0].number;
                var offsetY = element.bounds.top + element.styles.transformOrigin[1].number;
                var matrix = element.styles.transform;
                this.effects.push(new TransformEffect(offsetX, offsetY, matrix));
            }
            if (element.styles.overflowX !== OVERFLOW.VISIBLE) {
                var borderBox = calculateBorderBoxPath(this.curves);
                var paddingBox = calculatePaddingBoxPath(this.curves);
                if (equalPath(borderBox, paddingBox)) {
                    this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));
                }
                else {
                    this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */));
                    this.effects.push(new ClipEffect(paddingBox, 4 /* CONTENT */));
                }
            }
        }
        ElementPaint.prototype.getParentEffects = function () {
            var effects = this.effects.slice(0);
            if (this.container.styles.overflowX !== OVERFLOW.VISIBLE) {
                var borderBox = calculateBorderBoxPath(this.curves);
                var paddingBox = calculatePaddingBoxPath(this.curves);
                if (!equalPath(borderBox, paddingBox)) {
                    effects.push(new ClipEffect(paddingBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));
                }
            }
            return effects;
        };
        return ElementPaint;
    }());
    var parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {
        parent.container.elements.forEach(function (child) {
            var treatAsRealStackingContext = contains(child.flags, 4 /* CREATES_REAL_STACKING_CONTEXT */);
            var createsStackingContext = contains(child.flags, 2 /* CREATES_STACKING_CONTEXT */);
            var paintContainer = new ElementPaint(child, parent.getParentEffects());
            if (contains(child.styles.display, 2048 /* LIST_ITEM */)) {
                listItems.push(paintContainer);
            }
            var listOwnerItems = contains(child.flags, 8 /* IS_LIST_OWNER */) ? [] : listItems;
            if (treatAsRealStackingContext || createsStackingContext) {
                var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
                var stack = new StackingContext(paintContainer);
                if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {
                    var order_1 = child.styles.zIndex.order;
                    if (order_1 < 0) {
                        var index_1 = 0;
                        parentStack.negativeZIndex.some(function (current, i) {
                            if (order_1 > current.element.container.styles.zIndex.order) {
                                index_1 = i;
                                return false;
                            }
                            else if (index_1 > 0) {
                                return true;
                            }
                            return false;
                        });
                        parentStack.negativeZIndex.splice(index_1, 0, stack);
                    }
                    else if (order_1 > 0) {
                        var index_2 = 0;
                        parentStack.positiveZIndex.some(function (current, i) {
                            if (order_1 >= current.element.container.styles.zIndex.order) {
                                index_2 = i + 1;
                                return false;
                            }
                            else if (index_2 > 0) {
                                return true;
                            }
                            return false;
                        });
                        parentStack.positiveZIndex.splice(index_2, 0, stack);
                    }
                    else {
                        parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);
                    }
                }
                else {
                    if (child.styles.isFloating()) {
                        parentStack.nonPositionedFloats.push(stack);
                    }
                    else {
                        parentStack.nonPositionedInlineLevel.push(stack);
                    }
                }
                parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems);
            }
            else {
                if (child.styles.isInlineLevel()) {
                    stackingContext.inlineLevel.push(paintContainer);
                }
                else {
                    stackingContext.nonInlineLevel.push(paintContainer);
                }
                parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);
            }
            if (contains(child.flags, 8 /* IS_LIST_OWNER */)) {
                processListItems(child, listOwnerItems);
            }
        });
    };
    var processListItems = function (owner, elements) {
        var numbering = owner instanceof OLElementContainer ? owner.start : 1;
        var reversed = owner instanceof OLElementContainer ? owner.reversed : false;
        for (var i = 0; i < elements.length; i++) {
            var item = elements[i];
            if (item.container instanceof LIElementContainer &&
                typeof item.container.value === 'number' &&
                item.container.value !== 0) {
                numbering = item.container.value;
            }
            item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true);
            numbering += reversed ? -1 : 1;
        }
    };
    var parseStackingContexts = function (container) {
        var paintContainer = new ElementPaint(container, []);
        var root = new StackingContext(paintContainer);
        var listItems = [];
        parseStackTree(paintContainer, root, root, listItems);
        processListItems(paintContainer.container, listItems);
        return root;
    };

    var parsePathForBorder = function (curves, borderSide) {
        switch (borderSide) {
            case 0:
                return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox);
            case 1:
                return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox);
            case 2:
                return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox);
            case 3:
            default:
                return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox);
        }
    };
    var createPathFromCurves = function (outer1, inner1, outer2, inner2) {
        var path = [];
        if (isBezierCurve(outer1)) {
            path.push(outer1.subdivide(0.5, false));
        }
        else {
            path.push(outer1);
        }
        if (isBezierCurve(outer2)) {
            path.push(outer2.subdivide(0.5, true));
        }
        else {
            path.push(outer2);
        }
        if (isBezierCurve(inner2)) {
            path.push(inner2.subdivide(0.5, true).reverse());
        }
        else {
            path.push(inner2);
        }
        if (isBezierCurve(inner1)) {
            path.push(inner1.subdivide(0.5, false).reverse());
        }
        else {
            path.push(inner1);
        }
        return path;
    };

    var paddingBox = function (element) {
        var bounds = element.bounds;
        var styles = element.styles;
        return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth));
    };
    var contentBox = function (element) {
        var styles = element.styles;
        var bounds = element.bounds;
        var paddingLeft = getAbsoluteValue(styles.paddingLeft, bounds.width);
        var paddingRight = getAbsoluteValue(styles.paddingRight, bounds.width);
        var paddingTop = getAbsoluteValue(styles.paddingTop, bounds.width);
        var paddingBottom = getAbsoluteValue(styles.paddingBottom, bounds.width);
        return bounds.add(paddingLeft + styles.borderLeftWidth, paddingTop + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft + paddingRight), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop + paddingBottom));
    };

    var calculateBackgroundPositioningArea = function (backgroundOrigin, element) {
        if (backgroundOrigin === 0 /* BORDER_BOX */) {
            return element.bounds;
        }
        if (backgroundOrigin === 2 /* CONTENT_BOX */) {
            return contentBox(element);
        }
        return paddingBox(element);
    };
    var calculateBackgroundPaintingArea = function (backgroundClip, element) {
        if (backgroundClip === BACKGROUND_CLIP.BORDER_BOX) {
            return element.bounds;
        }
        if (backgroundClip === BACKGROUND_CLIP.CONTENT_BOX) {
            return contentBox(element);
        }
        return paddingBox(element);
    };
    var calculateBackgroundRendering = function (container, index, intrinsicSize) {
        var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container);
        var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container);
        var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);
        var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];
        var position = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);
        var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);
        var offsetX = Math.round(backgroundPositioningArea.left + position[0]);
        var offsetY = Math.round(backgroundPositioningArea.top + position[1]);
        return [path, offsetX, offsetY, sizeWidth, sizeHeight];
    };
    var isAuto = function (token) { return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO; };
    var hasIntrinsicValue = function (value) { return typeof value === 'number'; };
    var calculateBackgroundSize = function (size, _a, bounds) {
        var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2];
        var first = size[0], second = size[1];
        if (isLengthPercentage(first) && second && isLengthPercentage(second)) {
            return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)];
        }
        var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);
        if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) {
            if (hasIntrinsicValue(intrinsicProportion)) {
                var targetRatio = bounds.width / bounds.height;
                return targetRatio < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER)
                    ? [bounds.width, bounds.width / intrinsicProportion]
                    : [bounds.height * intrinsicProportion, bounds.height];
            }
            return [bounds.width, bounds.height];
        }
        var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);
        var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);
        var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;
        // If the background-size is auto or auto auto:
        if (isAuto(first) && (!second || isAuto(second))) {
            // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.
            if (hasIntrinsicWidth && hasIntrinsicHeight) {
                return [intrinsicWidth, intrinsicHeight];
            }
            // If the image has no intrinsic dimensions and has no intrinsic proportions,
            // it's rendered at the size of the background positioning area.
            if (!hasIntrinsicProportion && !hasIntrinsicDimensions) {
                return [bounds.width, bounds.height];
            }
            // TODO If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if contain had been specified instead.
            // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension.
            // The other dimension is computed using the specified dimension and the intrinsic proportions.
            if (hasIntrinsicDimensions && hasIntrinsicProportion) {
                var width_1 = hasIntrinsicWidth
                    ? intrinsicWidth
                    : intrinsicHeight * intrinsicProportion;
                var height_1 = hasIntrinsicHeight
                    ? intrinsicHeight
                    : intrinsicWidth / intrinsicProportion;
                return [width_1, height_1];
            }
            // If the image has only one intrinsic dimension but has no intrinsic proportions,
            // it's rendered using the specified dimension and the other dimension of the background positioning area.
            var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;
            var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;
            return [width_2, height_2];
        }
        // If the image has intrinsic proportions, it's stretched to the specified dimension.
        // The unspecified dimension is computed using the specified dimension and the intrinsic proportions.
        if (hasIntrinsicProportion) {
            var width_3 = 0;
            var height_3 = 0;
            if (isLengthPercentage(first)) {
                width_3 = getAbsoluteValue(first, bounds.width);
            }
            else if (isLengthPercentage(second)) {
                height_3 = getAbsoluteValue(second, bounds.height);
            }
            if (isAuto(first)) {
                width_3 = height_3 * intrinsicProportion;
            }
            else if (!second || isAuto(second)) {
                height_3 = width_3 / intrinsicProportion;
            }
            return [width_3, height_3];
        }
        // If the image has no intrinsic proportions, it's stretched to the specified dimension.
        // The unspecified dimension is computed using the image's corresponding intrinsic dimension,
        // if there is one. If there is no such intrinsic dimension,
        // it becomes the corresponding dimension of the background positioning area.
        var width = null;
        var height = null;
        if (isLengthPercentage(first)) {
            width = getAbsoluteValue(first, bounds.width);
        }
        else if (second && isLengthPercentage(second)) {
            height = getAbsoluteValue(second, bounds.height);
        }
        if (width !== null && (!second || isAuto(second))) {
            height =
                hasIntrinsicWidth && hasIntrinsicHeight
                    ? (width / intrinsicWidth) * intrinsicHeight
                    : bounds.height;
        }
        if (height !== null && isAuto(first)) {
            width =
                hasIntrinsicWidth && hasIntrinsicHeight
                    ? (height / intrinsicHeight) * intrinsicWidth
                    : bounds.width;
        }
        if (width !== null && height !== null) {
            return [width, height];
        }
        throw new Error("Unable to calculate background-size for element");
    };
    var getBackgroundValueForIndex = function (values, index) {
        var value = values[index];
        if (typeof value === 'undefined') {
            return values[0];
        }
        return value;
    };
    var calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) {
        var x = _a[0], y = _a[1];
        var width = _b[0], height = _b[1];
        switch (repeat) {
            case BACKGROUND_REPEAT.REPEAT_X:
                return [
                    new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y)),
                    new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y)),
                    new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y)),
                    new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y))
                ];
            case BACKGROUND_REPEAT.REPEAT_Y:
                return [
                    new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top)),
                    new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top)),
                    new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)),
                    new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top))
                ];
            case BACKGROUND_REPEAT.NO_REPEAT:
                return [
                    new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y)),
                    new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y)),
                    new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y + height)),
                    new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y + height))
                ];
            default:
                return [
                    new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)),
                    new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)),
                    new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)),
                    new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top))
                ];
        }
    };

    var SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';

    var SAMPLE_TEXT = 'Hidden Text';
    var FontMetrics = /** @class */ (function () {
        function FontMetrics(document) {
            this._data = {};
            this._document = document;
        }
        FontMetrics.prototype.parseMetrics = function (fontFamily, fontSize) {
            var container = this._document.createElement('div');
            var img = this._document.createElement('img');
            var span = this._document.createElement('span');
            var body = this._document.body;
            container.style.visibility = 'hidden';
            container.style.fontFamily = fontFamily;
            container.style.fontSize = fontSize;
            container.style.margin = '0';
            container.style.padding = '0';
            body.appendChild(container);
            img.src = SMALL_IMAGE;
            img.width = 1;
            img.height = 1;
            img.style.margin = '0';
            img.style.padding = '0';
            img.style.verticalAlign = 'baseline';
            span.style.fontFamily = fontFamily;
            span.style.fontSize = fontSize;
            span.style.margin = '0';
            span.style.padding = '0';
            span.appendChild(this._document.createTextNode(SAMPLE_TEXT));
            container.appendChild(span);
            container.appendChild(img);
            var baseline = img.offsetTop - span.offsetTop + 2;
            container.removeChild(span);
            container.appendChild(this._document.createTextNode(SAMPLE_TEXT));
            container.style.lineHeight = 'normal';
            img.style.verticalAlign = 'super';
            var middle = img.offsetTop - container.offsetTop + 2;
            body.removeChild(container);
            return { baseline: baseline, middle: middle };
        };
        FontMetrics.prototype.getMetrics = function (fontFamily, fontSize) {
            var key = fontFamily + " " + fontSize;
            if (typeof this._data[key] === 'undefined') {
                this._data[key] = this.parseMetrics(fontFamily, fontSize);
            }
            return this._data[key];
        };
        return FontMetrics;
    }());

    var MASK_OFFSET = 10000;
    var CanvasRenderer = /** @class */ (function () {
        function CanvasRenderer(options) {
            this._activeEffects = [];
            this.canvas = options.canvas ? options.canvas : document.createElement('canvas');
            this.ctx = this.canvas.getContext('2d');
            this.options = options;
            if (!options.canvas) {
                this.canvas.width = Math.floor(options.width * options.scale);
                this.canvas.height = Math.floor(options.height * options.scale);
                this.canvas.style.width = options.width + "px";
                this.canvas.style.height = options.height + "px";
            }
            this.fontMetrics = new FontMetrics(document);
            this.ctx.scale(this.options.scale, this.options.scale);
            this.ctx.translate(-options.x + options.scrollX, -options.y + options.scrollY);
            this.ctx.textBaseline = 'bottom';
            this._activeEffects = [];
            Logger.getInstance(options.id).debug("Canvas renderer initialized (" + options.width + "x" + options.height + " at " + options.x + "," + options.y + ") with scale " + options.scale);
        }
        CanvasRenderer.prototype.applyEffects = function (effects, target) {
            var _this = this;
            while (this._activeEffects.length) {
                this.popEffect();
            }
            effects.filter(function (effect) { return contains(effect.target, target); }).forEach(function (effect) { return _this.applyEffect(effect); });
        };
        CanvasRenderer.prototype.applyEffect = function (effect) {
            this.ctx.save();
            if (isTransformEffect(effect)) {
                this.ctx.translate(effect.offsetX, effect.offsetY);
                this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]);
                this.ctx.translate(-effect.offsetX, -effect.offsetY);
            }
            if (isClipEffect(effect)) {
                this.path(effect.path);
                this.ctx.clip();
            }
            this._activeEffects.push(effect);
        };
        CanvasRenderer.prototype.popEffect = function () {
            this._activeEffects.pop();
            this.ctx.restore();
        };
        CanvasRenderer.prototype.renderStack = function (stack) {
            return __awaiter(this, void 0, void 0, function () {
                var styles;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            styles = stack.element.container.styles;
                            if (!styles.isVisible()) return [3 /*break*/, 2];
                            this.ctx.globalAlpha = styles.opacity;
                            return [4 /*yield*/, this.renderStackContent(stack)];
                        case 1:
                            _a.sent();
                            _a.label = 2;
                        case 2: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.renderNode = function (paint) {
            return __awaiter(this, void 0, void 0, function () {
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            if (!paint.container.styles.isVisible()) return [3 /*break*/, 3];
                            return [4 /*yield*/, this.renderNodeBackgroundAndBorders(paint)];
                        case 1:
                            _a.sent();
                            return [4 /*yield*/, this.renderNodeContent(paint)];
                        case 2:
                            _a.sent();
                            _a.label = 3;
                        case 3: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.renderTextWithLetterSpacing = function (text, letterSpacing) {
            var _this = this;
            if (letterSpacing === 0) {
                this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + text.bounds.height);
            }
            else {
                var letters = toCodePoints(text.text).map(function (i) { return fromCodePoint(i); });
                letters.reduce(function (left, letter) {
                    _this.ctx.fillText(letter, left, text.bounds.top + text.bounds.height);
                    return left + _this.ctx.measureText(letter).width;
                }, text.bounds.left);
            }
        };
        CanvasRenderer.prototype.createFontStyle = function (styles) {
            var fontVariant = styles.fontVariant
                .filter(function (variant) { return variant === 'normal' || variant === 'small-caps'; })
                .join('');
            var fontFamily = styles.fontFamily.join(', ');
            var fontSize = isDimensionToken(styles.fontSize)
                ? "" + styles.fontSize.number + styles.fontSize.unit
                : styles.fontSize.number + "px";
            return [
                [styles.fontStyle, fontVariant, styles.fontWeight, fontSize, fontFamily].join(' '),
                fontFamily,
                fontSize
            ];
        };
        CanvasRenderer.prototype.renderTextNode = function (text, styles) {
            return __awaiter(this, void 0, void 0, function () {
                var _a, font, fontFamily, fontSize;
                var _this = this;
                return __generator(this, function (_b) {
                    _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];
                    this.ctx.font = font;
                    text.textBounds.forEach(function (text) {
                        _this.ctx.fillStyle = asString(styles.color);
                        _this.renderTextWithLetterSpacing(text, styles.letterSpacing);
                        var textShadows = styles.textShadow;
                        if (textShadows.length && text.text.trim().length) {
                            textShadows
                                .slice(0)
                                .reverse()
                                .forEach(function (textShadow) {
                                _this.ctx.shadowColor = asString(textShadow.color);
                                _this.ctx.shadowOffsetX = textShadow.offsetX.number * _this.options.scale;
                                _this.ctx.shadowOffsetY = textShadow.offsetY.number * _this.options.scale;
                                _this.ctx.shadowBlur = textShadow.blur.number;
                                _this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + text.bounds.height);
                            });
                            _this.ctx.shadowColor = '';
                            _this.ctx.shadowOffsetX = 0;
                            _this.ctx.shadowOffsetY = 0;
                            _this.ctx.shadowBlur = 0;
                        }
                        if (styles.textDecorationLine.length) {
                            _this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color);
                            styles.textDecorationLine.forEach(function (textDecorationLine) {
                                switch (textDecorationLine) {
                                    case 1 /* UNDERLINE */:
                                        // Draws a line at the baseline of the font
                                        // TODO As some browsers display the line as more than 1px if the font-size is big,
                                        // need to take that into account both in position and size
                                        var baseline = _this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;
                                        _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1);
                                        break;
                                    case 2 /* OVERLINE */:
                                        _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1);
                                        break;
                                    case 3 /* LINE_THROUGH */:
                                        // TODO try and find exact position for line-through
                                        var middle = _this.fontMetrics.getMetrics(fontFamily, fontSize).middle;
                                        _this.ctx.fillRect(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1);
                                        break;
                                }
                            });
                        }
                    });
                    return [2 /*return*/];
                });
            });
        };
        CanvasRenderer.prototype.renderReplacedElement = function (container, curves, image) {
            if (image && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) {
                var box = contentBox(container);
                var path = calculatePaddingBoxPath(curves);
                this.path(path);
                this.ctx.save();
                this.ctx.clip();
                this.ctx.drawImage(image, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height);
                this.ctx.restore();
            }
        };
        CanvasRenderer.prototype.renderNodeContent = function (paint) {
            return __awaiter(this, void 0, void 0, function () {
                var container, curves, styles, _i, _a, child, image, e_1, image, e_2, iframeRenderer, canvas, size, bounds, x, textBounds, img, image, url, e_3, bounds;
                return __generator(this, function (_b) {
                    switch (_b.label) {
                        case 0:
                            this.applyEffects(paint.effects, 4 /* CONTENT */);
                            container = paint.container;
                            curves = paint.curves;
                            styles = container.styles;
                            _i = 0, _a = container.textNodes;
                            _b.label = 1;
                        case 1:
                            if (!(_i < _a.length)) return [3 /*break*/, 4];
                            child = _a[_i];
                            return [4 /*yield*/, this.renderTextNode(child, styles)];
                        case 2:
                            _b.sent();
                            _b.label = 3;
                        case 3:
                            _i++;
                            return [3 /*break*/, 1];
                        case 4:
                            if (!(container instanceof ImageElementContainer)) return [3 /*break*/, 8];
                            _b.label = 5;
                        case 5:
                            _b.trys.push([5, 7, , 8]);
                            return [4 /*yield*/, this.options.cache.match(container.src)];
                        case 6:
                            image = _b.sent();
                            this.renderReplacedElement(container, curves, image);
                            return [3 /*break*/, 8];
                        case 7:
                            e_1 = _b.sent();
                            Logger.getInstance(this.options.id).error("Error loading image " + container.src);
                            return [3 /*break*/, 8];
                        case 8:
                            if (container instanceof CanvasElementContainer) {
                                this.renderReplacedElement(container, curves, container.canvas);
                            }
                            if (!(container instanceof SVGElementContainer)) return [3 /*break*/, 12];
                            _b.label = 9;
                        case 9:
                            _b.trys.push([9, 11, , 12]);
                            return [4 /*yield*/, this.options.cache.match(container.svg)];
                        case 10:
                            image = _b.sent();
                            this.renderReplacedElement(container, curves, image);
                            return [3 /*break*/, 12];
                        case 11:
                            e_2 = _b.sent();
                            Logger.getInstance(this.options.id).error("Error loading svg " + container.svg.substring(0, 255));
                            return [3 /*break*/, 12];
                        case 12:
                            if (!(container instanceof IFrameElementContainer && container.tree)) return [3 /*break*/, 14];
                            iframeRenderer = new CanvasRenderer({
                                id: this.options.id,
                                scale: this.options.scale,
                                backgroundColor: container.backgroundColor,
                                x: 0,
                                y: 0,
                                scrollX: 0,
                                scrollY: 0,
                                width: container.width,
                                height: container.height,
                                cache: this.options.cache,
                                windowWidth: container.width,
                                windowHeight: container.height
                            });
                            return [4 /*yield*/, iframeRenderer.render(container.tree)];
                        case 13:
                            canvas = _b.sent();
                            if (container.width && container.height) {
                                this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height);
                            }
                            _b.label = 14;
                        case 14:
                            if (container instanceof InputElementContainer) {
                                size = Math.min(container.bounds.width, container.bounds.height);
                                if (container.type === CHECKBOX) {
                                    if (container.checked) {
                                        this.ctx.save();
                                        this.path([
                                            new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79),
                                            new Vector(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549),
                                            new Vector(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071),
                                            new Vector(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649),
                                            new Vector(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23),
                                            new Vector(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085),
                                            new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79)
                                        ]);
                                        this.ctx.fillStyle = asString(INPUT_COLOR);
                                        this.ctx.fill();
                                        this.ctx.restore();
                                    }
                                }
                                else if (container.type === RADIO) {
                                    if (container.checked) {
                                        this.ctx.save();
                                        this.ctx.beginPath();
                                        this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true);
                                        this.ctx.fillStyle = asString(INPUT_COLOR);
                                        this.ctx.fill();
                                        this.ctx.restore();
                                    }
                                }
                            }
                            if (isTextInputElement(container) && container.value.length) {
                                this.ctx.font = this.createFontStyle(styles)[0];
                                this.ctx.fillStyle = asString(styles.color);
                                this.ctx.textBaseline = 'middle';
                                this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);
                                bounds = contentBox(container);
                                x = 0;
                                switch (container.styles.textAlign) {
                                    case TEXT_ALIGN.CENTER:
                                        x += bounds.width / 2;
                                        break;
                                    case TEXT_ALIGN.RIGHT:
                                        x += bounds.width;
                                        break;
                                }
                                textBounds = bounds.add(x, 0, 0, -bounds.height / 2 + 1);
                                this.ctx.save();
                                this.path([
                                    new Vector(bounds.left, bounds.top),
                                    new Vector(bounds.left + bounds.width, bounds.top),
                                    new Vector(bounds.left + bounds.width, bounds.top + bounds.height),
                                    new Vector(bounds.left, bounds.top + bounds.height)
                                ]);
                                this.ctx.clip();
                                this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing);
                                this.ctx.restore();
                                this.ctx.textBaseline = 'bottom';
                                this.ctx.textAlign = 'left';
                            }
                            if (!contains(container.styles.display, 2048 /* LIST_ITEM */)) return [3 /*break*/, 20];
                            if (!(container.styles.listStyleImage !== null)) return [3 /*break*/, 19];
                            img = container.styles.listStyleImage;
                            if (!(img.type === CSSImageType.URL)) return [3 /*break*/, 18];
                            image = void 0;
                            url = img.url;
                            _b.label = 15;
                        case 15:
                            _b.trys.push([15, 17, , 18]);
                            return [4 /*yield*/, this.options.cache.match(url)];
                        case 16:
                            image = _b.sent();
                            this.ctx.drawImage(image, container.bounds.left - (image.width + 10), container.bounds.top);
                            return [3 /*break*/, 18];
                        case 17:
                            e_3 = _b.sent();
                            Logger.getInstance(this.options.id).error("Error loading list-style-image " + url);
                            return [3 /*break*/, 18];
                        case 18: return [3 /*break*/, 20];
                        case 19:
                            if (paint.listValue && container.styles.listStyleType !== LIST_STYLE_TYPE.NONE) {
                                this.ctx.font = this.createFontStyle(styles)[0];
                                this.ctx.fillStyle = asString(styles.color);
                                this.ctx.textBaseline = 'middle';
                                this.ctx.textAlign = 'right';
                                bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1);
                                this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing);
                                this.ctx.textBaseline = 'bottom';
                                this.ctx.textAlign = 'left';
                            }
                            _b.label = 20;
                        case 20: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.renderStackContent = function (stack) {
            return __awaiter(this, void 0, void 0, function () {
                var _i, _a, child, _b, _c, child, _d, _e, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child;
                return __generator(this, function (_p) {
                    switch (_p.label) {
                        case 0: 
                        // https://www.w3.org/TR/css-position-3/#painting-order
                        // 1. the background and borders of the element forming the stacking context.
                        return [4 /*yield*/, this.renderNodeBackgroundAndBorders(stack.element)];
                        case 1:
                            // https://www.w3.org/TR/css-position-3/#painting-order
                            // 1. the background and borders of the element forming the stacking context.
                            _p.sent();
                            _i = 0, _a = stack.negativeZIndex;
                            _p.label = 2;
                        case 2:
                            if (!(_i < _a.length)) return [3 /*break*/, 5];
                            child = _a[_i];
                            return [4 /*yield*/, this.renderStack(child)];
                        case 3:
                            _p.sent();
                            _p.label = 4;
                        case 4:
                            _i++;
                            return [3 /*break*/, 2];
                        case 5: 
                        // 3. For all its in-flow, non-positioned, block-level descendants in tree order:
                        return [4 /*yield*/, this.renderNodeContent(stack.element)];
                        case 6:
                            // 3. For all its in-flow, non-positioned, block-level descendants in tree order:
                            _p.sent();
                            _b = 0, _c = stack.nonInlineLevel;
                            _p.label = 7;
                        case 7:
                            if (!(_b < _c.length)) return [3 /*break*/, 10];
                            child = _c[_b];
                            return [4 /*yield*/, this.renderNode(child)];
                        case 8:
                            _p.sent();
                            _p.label = 9;
                        case 9:
                            _b++;
                            return [3 /*break*/, 7];
                        case 10:
                            _d = 0, _e = stack.nonPositionedFloats;
                            _p.label = 11;
                        case 11:
                            if (!(_d < _e.length)) return [3 /*break*/, 14];
                            child = _e[_d];
                            return [4 /*yield*/, this.renderStack(child)];
                        case 12:
                            _p.sent();
                            _p.label = 13;
                        case 13:
                            _d++;
                            return [3 /*break*/, 11];
                        case 14:
                            _f = 0, _g = stack.nonPositionedInlineLevel;
                            _p.label = 15;
                        case 15:
                            if (!(_f < _g.length)) return [3 /*break*/, 18];
                            child = _g[_f];
                            return [4 /*yield*/, this.renderStack(child)];
                        case 16:
                            _p.sent();
                            _p.label = 17;
                        case 17:
                            _f++;
                            return [3 /*break*/, 15];
                        case 18:
                            _h = 0, _j = stack.inlineLevel;
                            _p.label = 19;
                        case 19:
                            if (!(_h < _j.length)) return [3 /*break*/, 22];
                            child = _j[_h];
                            return [4 /*yield*/, this.renderNode(child)];
                        case 20:
                            _p.sent();
                            _p.label = 21;
                        case 21:
                            _h++;
                            return [3 /*break*/, 19];
                        case 22:
                            _k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity;
                            _p.label = 23;
                        case 23:
                            if (!(_k < _l.length)) return [3 /*break*/, 26];
                            child = _l[_k];
                            return [4 /*yield*/, this.renderStack(child)];
                        case 24:
                            _p.sent();
                            _p.label = 25;
                        case 25:
                            _k++;
                            return [3 /*break*/, 23];
                        case 26:
                            _m = 0, _o = stack.positiveZIndex;
                            _p.label = 27;
                        case 27:
                            if (!(_m < _o.length)) return [3 /*break*/, 30];
                            child = _o[_m];
                            return [4 /*yield*/, this.renderStack(child)];
                        case 28:
                            _p.sent();
                            _p.label = 29;
                        case 29:
                            _m++;
                            return [3 /*break*/, 27];
                        case 30: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.mask = function (paths) {
            this.ctx.beginPath();
            this.ctx.moveTo(0, 0);
            this.ctx.lineTo(this.canvas.width, 0);
            this.ctx.lineTo(this.canvas.width, this.canvas.height);
            this.ctx.lineTo(0, this.canvas.height);
            this.ctx.lineTo(0, 0);
            this.formatPath(paths.slice(0).reverse());
            this.ctx.closePath();
        };
        CanvasRenderer.prototype.path = function (paths) {
            this.ctx.beginPath();
            this.formatPath(paths);
            this.ctx.closePath();
        };
        CanvasRenderer.prototype.formatPath = function (paths) {
            var _this = this;
            paths.forEach(function (point, index) {
                var start = isBezierCurve(point) ? point.start : point;
                if (index === 0) {
                    _this.ctx.moveTo(start.x, start.y);
                }
                else {
                    _this.ctx.lineTo(start.x, start.y);
                }
                if (isBezierCurve(point)) {
                    _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);
                }
            });
        };
        CanvasRenderer.prototype.renderRepeat = function (path, pattern, offsetX, offsetY) {
            this.path(path);
            this.ctx.fillStyle = pattern;
            this.ctx.translate(offsetX, offsetY);
            this.ctx.fill();
            this.ctx.translate(-offsetX, -offsetY);
        };
        CanvasRenderer.prototype.resizeImage = function (image, width, height) {
            if (image.width === width && image.height === height) {
                return image;
            }
            var canvas = this.canvas.ownerDocument.createElement('canvas');
            canvas.width = width;
            canvas.height = height;
            var ctx = canvas.getContext('2d');
            ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height);
            return canvas;
        };
        CanvasRenderer.prototype.renderBackgroundImage = function (container) {
            return __awaiter(this, void 0, void 0, function () {
                var index, _loop_1, this_1, _i, _a, backgroundImage;
                return __generator(this, function (_b) {
                    switch (_b.label) {
                        case 0:
                            index = container.styles.backgroundImage.length - 1;
                            _loop_1 = function (backgroundImage) {
                                var image, url, e_4, _a, path, x, y, width, height, pattern, _b, path, x, y, width, height, _c, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _d, path, left, top_1, width, height, position, x, y, _e, rx, ry, radialGradient_1, midX, midY, f, invF;
                                return __generator(this, function (_f) {
                                    switch (_f.label) {
                                        case 0:
                                            if (!(backgroundImage.type === CSSImageType.URL)) return [3 /*break*/, 5];
                                            image = void 0;
                                            url = backgroundImage.url;
                                            _f.label = 1;
                                        case 1:
                                            _f.trys.push([1, 3, , 4]);
                                            return [4 /*yield*/, this_1.options.cache.match(url)];
                                        case 2:
                                            image = _f.sent();
                                            return [3 /*break*/, 4];
                                        case 3:
                                            e_4 = _f.sent();
                                            Logger.getInstance(this_1.options.id).error("Error loading background-image " + url);
                                            return [3 /*break*/, 4];
                                        case 4:
                                            if (image) {
                                                _a = calculateBackgroundRendering(container, index, [
                                                    image.width,
                                                    image.height,
                                                    image.width / image.height
                                                ]), path = _a[0], x = _a[1], y = _a[2], width = _a[3], height = _a[4];
                                                pattern = this_1.ctx.createPattern(this_1.resizeImage(image, width, height), 'repeat');
                                                this_1.renderRepeat(path, pattern, x, y);
                                            }
                                            return [3 /*break*/, 6];
                                        case 5:
                                            if (isLinearGradient(backgroundImage)) {
                                                _b = calculateBackgroundRendering(container, index, [null, null, null]), path = _b[0], x = _b[1], y = _b[2], width = _b[3], height = _b[4];
                                                _c = calculateGradientDirection(backgroundImage.angle, width, height), lineLength = _c[0], x0 = _c[1], x1 = _c[2], y0 = _c[3], y1 = _c[4];
                                                canvas = document.createElement('canvas');
                                                canvas.width = width;
                                                canvas.height = height;
                                                ctx = canvas.getContext('2d');
                                                gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);
                                                processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {
                                                    return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
                                                });
                                                ctx.fillStyle = gradient_1;
                                                ctx.fillRect(0, 0, width, height);
                                                if (width > 0 && height > 0) {
                                                    pattern = this_1.ctx.createPattern(canvas, 'repeat');
                                                    this_1.renderRepeat(path, pattern, x, y);
                                                }
                                            }
                                            else if (isRadialGradient(backgroundImage)) {
                                                _d = calculateBackgroundRendering(container, index, [
                                                    null,
                                                    null,
                                                    null
                                                ]), path = _d[0], left = _d[1], top_1 = _d[2], width = _d[3], height = _d[4];
                                                position = backgroundImage.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage.position;
                                                x = getAbsoluteValue(position[0], width);
                                                y = getAbsoluteValue(position[position.length - 1], height);
                                                _e = calculateRadius(backgroundImage, x, y, width, height), rx = _e[0], ry = _e[1];
                                                if (rx > 0 && rx > 0) {
                                                    radialGradient_1 = this_1.ctx.createRadialGradient(left + x, top_1 + y, 0, left + x, top_1 + y, rx);
                                                    processColorStops(backgroundImage.stops, rx * 2).forEach(function (colorStop) {
                                                        return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
                                                    });
                                                    this_1.path(path);
                                                    this_1.ctx.fillStyle = radialGradient_1;
                                                    if (rx !== ry) {
                                                        midX = container.bounds.left + 0.5 * container.bounds.width;
                                                        midY = container.bounds.top + 0.5 * container.bounds.height;
                                                        f = ry / rx;
                                                        invF = 1 / f;
                                                        this_1.ctx.save();
                                                        this_1.ctx.translate(midX, midY);
                                                        this_1.ctx.transform(1, 0, 0, f, 0, 0);
                                                        this_1.ctx.translate(-midX, -midY);
                                                        this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF);
                                                        this_1.ctx.restore();
                                                    }
                                                    else {
                                                        this_1.ctx.fill();
                                                    }
                                                }
                                            }
                                            _f.label = 6;
                                        case 6:
                                            index--;
                                            return [2 /*return*/];
                                    }
                                });
                            };
                            this_1 = this;
                            _i = 0, _a = container.styles.backgroundImage.slice(0).reverse();
                            _b.label = 1;
                        case 1:
                            if (!(_i < _a.length)) return [3 /*break*/, 4];
                            backgroundImage = _a[_i];
                            return [5 /*yield**/, _loop_1(backgroundImage)];
                        case 2:
                            _b.sent();
                            _b.label = 3;
                        case 3:
                            _i++;
                            return [3 /*break*/, 1];
                        case 4: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.renderBorder = function (color, side, curvePoints) {
            return __awaiter(this, void 0, void 0, function () {
                return __generator(this, function (_a) {
                    this.path(parsePathForBorder(curvePoints, side));
                    this.ctx.fillStyle = asString(color);
                    this.ctx.fill();
                    return [2 /*return*/];
                });
            });
        };
        CanvasRenderer.prototype.renderNodeBackgroundAndBorders = function (paint) {
            return __awaiter(this, void 0, void 0, function () {
                var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border;
                var _this = this;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            this.applyEffects(paint.effects, 2 /* BACKGROUND_BORDERS */);
                            styles = paint.container.styles;
                            hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length;
                            borders = [
                                { style: styles.borderTopStyle, color: styles.borderTopColor },
                                { style: styles.borderRightStyle, color: styles.borderRightColor },
                                { style: styles.borderBottomStyle, color: styles.borderBottomColor },
                                { style: styles.borderLeftStyle, color: styles.borderLeftColor }
                            ];
                            backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves);
                            if (!(hasBackground || styles.boxShadow.length)) return [3 /*break*/, 2];
                            this.ctx.save();
                            this.path(backgroundPaintingArea);
                            this.ctx.clip();
                            if (!isTransparent(styles.backgroundColor)) {
                                this.ctx.fillStyle = asString(styles.backgroundColor);
                                this.ctx.fill();
                            }
                            return [4 /*yield*/, this.renderBackgroundImage(paint.container)];
                        case 1:
                            _a.sent();
                            this.ctx.restore();
                            styles.boxShadow
                                .slice(0)
                                .reverse()
                                .forEach(function (shadow) {
                                _this.ctx.save();
                                var borderBoxArea = calculateBorderBoxPath(paint.curves);
                                var maskOffset = shadow.inset ? 0 : MASK_OFFSET;
                                var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2));
                                if (shadow.inset) {
                                    _this.path(borderBoxArea);
                                    _this.ctx.clip();
                                    _this.mask(shadowPaintingArea);
                                }
                                else {
                                    _this.mask(borderBoxArea);
                                    _this.ctx.clip();
                                    _this.path(shadowPaintingArea);
                                }
                                _this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset;
                                _this.ctx.shadowOffsetY = shadow.offsetY.number;
                                _this.ctx.shadowColor = asString(shadow.color);
                                _this.ctx.shadowBlur = shadow.blur.number;
                                _this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : 'rgba(0,0,0,1)';
                                _this.ctx.fill();
                                _this.ctx.restore();
                            });
                            _a.label = 2;
                        case 2:
                            side = 0;
                            _i = 0, borders_1 = borders;
                            _a.label = 3;
                        case 3:
                            if (!(_i < borders_1.length)) return [3 /*break*/, 7];
                            border = borders_1[_i];
                            if (!(border.style !== BORDER_STYLE.NONE && !isTransparent(border.color))) return [3 /*break*/, 5];
                            return [4 /*yield*/, this.renderBorder(border.color, side, paint.curves)];
                        case 4:
                            _a.sent();
                            _a.label = 5;
                        case 5:
                            side++;
                            _a.label = 6;
                        case 6:
                            _i++;
                            return [3 /*break*/, 3];
                        case 7: return [2 /*return*/];
                    }
                });
            });
        };
        CanvasRenderer.prototype.render = function (element) {
            return __awaiter(this, void 0, void 0, function () {
                var stack;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            if (this.options.backgroundColor) {
                                this.ctx.fillStyle = asString(this.options.backgroundColor);
                                this.ctx.fillRect(this.options.x - this.options.scrollX, this.options.y - this.options.scrollY, this.options.width, this.options.height);
                            }
                            stack = parseStackingContexts(element);
                            return [4 /*yield*/, this.renderStack(stack)];
                        case 1:
                            _a.sent();
                            this.applyEffects([], 2 /* BACKGROUND_BORDERS */);
                            return [2 /*return*/, this.canvas];
                    }
                });
            });
        };
        return CanvasRenderer;
    }());
    var isTextInputElement = function (container) {
        if (container instanceof TextareaElementContainer) {
            return true;
        }
        else if (container instanceof SelectElementContainer) {
            return true;
        }
        else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) {
            return true;
        }
        return false;
    };
    var calculateBackgroundCurvedPaintingArea = function (clip, curves) {
        switch (clip) {
            case BACKGROUND_CLIP.BORDER_BOX:
                return calculateBorderBoxPath(curves);
            case BACKGROUND_CLIP.CONTENT_BOX:
                return calculateContentBoxPath(curves);
            case BACKGROUND_CLIP.PADDING_BOX:
            default:
                return calculatePaddingBoxPath(curves);
        }
    };
    var canvasTextAlign = function (textAlign) {
        switch (textAlign) {
            case TEXT_ALIGN.CENTER:
                return 'center';
            case TEXT_ALIGN.RIGHT:
                return 'right';
            case TEXT_ALIGN.LEFT:
            default:
                return 'left';
        }
    };

    var ForeignObjectRenderer = /** @class */ (function () {
        function ForeignObjectRenderer(options) {
            this.canvas = options.canvas ? options.canvas : document.createElement('canvas');
            this.ctx = this.canvas.getContext('2d');
            this.options = options;
            this.canvas.width = Math.floor(options.width * options.scale);
            this.canvas.height = Math.floor(options.height * options.scale);
            this.canvas.style.width = options.width + "px";
            this.canvas.style.height = options.height + "px";
            this.ctx.scale(this.options.scale, this.options.scale);
            this.ctx.translate(-options.x + options.scrollX, -options.y + options.scrollY);
            Logger.getInstance(options.id).debug("EXPERIMENTAL ForeignObject renderer initialized (" + options.width + "x" + options.height + " at " + options.x + "," + options.y + ") with scale " + options.scale);
        }
        ForeignObjectRenderer.prototype.render = function (element) {
            return __awaiter(this, void 0, void 0, function () {
                var svg, img;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            svg = createForeignObjectSVG(Math.max(this.options.windowWidth, this.options.width) * this.options.scale, Math.max(this.options.windowHeight, this.options.height) * this.options.scale, this.options.scrollX * this.options.scale, this.options.scrollY * this.options.scale, element);
                            return [4 /*yield*/, loadSerializedSVG$1(svg)];
                        case 1:
                            img = _a.sent();
                            if (this.options.backgroundColor) {
                                this.ctx.fillStyle = asString(this.options.backgroundColor);
                                this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale);
                            }
                            this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale);
                            return [2 /*return*/, this.canvas];
                    }
                });
            });
        };
        return ForeignObjectRenderer;
    }());
    var loadSerializedSVG$1 = function (svg) {
        return new Promise(function (resolve, reject) {
            var img = new Image();
            img.onload = function () {
                resolve(img);
            };
            img.onerror = reject;
            img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg));
        });
    };

    var _this = undefined;
    var parseColor$1 = function (value) { return color.parse(Parser.create(value).parseComponentValue()); };
    var html2canvas = function (element, options) {
        if (options === void 0) { options = {}; }
        return renderElement(element, options);
    };
    if (typeof window !== 'undefined') {
        CacheStorage.setContext(window);
    }
    var renderElement = function (element, opts) { return __awaiter(_this, void 0, void 0, function () {
        var ownerDocument, defaultView, instanceName, _a, width, height, left, top, defaultResourceOptions, resourceOptions, defaultOptions, options, windowBounds, documentCloner, clonedElement, container, documentBackgroundColor, bodyBackgroundColor, bgColor, defaultBackgroundColor, backgroundColor, renderOptions, canvas, renderer, root, renderer;
        return __generator(this, function (_b) {
            switch (_b.label) {
                case 0:
                    ownerDocument = element.ownerDocument;
                    if (!ownerDocument) {
                        throw new Error("Element is not attached to a Document");
                    }
                    defaultView = ownerDocument.defaultView;
                    if (!defaultView) {
                        throw new Error("Document is not attached to a Window");
                    }
                    instanceName = (Math.round(Math.random() * 1000) + Date.now()).toString(16);
                    _a = isBodyElement(element) || isHTMLElement(element) ? parseDocumentSize(ownerDocument) : parseBounds(element), width = _a.width, height = _a.height, left = _a.left, top = _a.top;
                    defaultResourceOptions = {
                        allowTaint: false,
                        imageTimeout: 15000,
                        proxy: undefined,
                        useCORS: false
                    };
                    resourceOptions = __assign({}, defaultResourceOptions, opts);
                    defaultOptions = {
                        backgroundColor: '#ffffff',
                        cache: opts.cache ? opts.cache : CacheStorage.create(instanceName, resourceOptions),
                        logging: true,
                        removeContainer: true,
                        foreignObjectRendering: false,
                        scale: defaultView.devicePixelRatio || 1,
                        windowWidth: defaultView.innerWidth,
                        windowHeight: defaultView.innerHeight,
                        scrollX: defaultView.pageXOffset,
                        scrollY: defaultView.pageYOffset,
                        x: left,
                        y: top,
                        width: Math.ceil(width),
                        height: Math.ceil(height),
                        id: instanceName
                    };
                    options = __assign({}, defaultOptions, resourceOptions, opts);
                    windowBounds = new Bounds(options.scrollX, options.scrollY, options.windowWidth, options.windowHeight);
                    Logger.create({ id: instanceName, enabled: options.logging });
                    Logger.getInstance(instanceName).debug("Starting document clone");
                    documentCloner = new DocumentCloner(element, {
                        id: instanceName,
                        onclone: options.onclone,
                        ignoreElements: options.ignoreElements,
                        inlineImages: options.foreignObjectRendering,
                        copyStyles: options.foreignObjectRendering
                    });
                    clonedElement = documentCloner.clonedReferenceElement;
                    if (!clonedElement) {
                        return [2 /*return*/, Promise.reject("Unable to find element in cloned iframe")];
                    }
                    return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)];
                case 1:
                    container = _b.sent();
                    documentBackgroundColor = ownerDocument.documentElement
                        ? parseColor$1(getComputedStyle(ownerDocument.documentElement).backgroundColor)
                        : COLORS.TRANSPARENT;
                    bodyBackgroundColor = ownerDocument.body
                        ? parseColor$1(getComputedStyle(ownerDocument.body).backgroundColor)
                        : COLORS.TRANSPARENT;
                    bgColor = opts.backgroundColor;
                    defaultBackgroundColor = typeof bgColor === 'string' ? parseColor$1(bgColor) : bgColor === null ? COLORS.TRANSPARENT : 0xffffffff;
                    backgroundColor = element === ownerDocument.documentElement
                        ? isTransparent(documentBackgroundColor)
                            ? isTransparent(bodyBackgroundColor)
                                ? defaultBackgroundColor
                                : bodyBackgroundColor
                            : documentBackgroundColor
                        : defaultBackgroundColor;
                    renderOptions = {
                        id: instanceName,
                        cache: options.cache,
                        canvas: options.canvas,
                        backgroundColor: backgroundColor,
                        scale: options.scale,
                        x: options.x,
                        y: options.y,
                        scrollX: options.scrollX,
                        scrollY: options.scrollY,
                        width: options.width,
                        height: options.height,
                        windowWidth: options.windowWidth,
                        windowHeight: options.windowHeight
                    };
                    if (!options.foreignObjectRendering) return [3 /*break*/, 3];
                    Logger.getInstance(instanceName).debug("Document cloned, using foreign object rendering");
                    renderer = new ForeignObjectRenderer(renderOptions);
                    return [4 /*yield*/, renderer.render(clonedElement)];
                case 2:
                    canvas = _b.sent();
                    return [3 /*break*/, 5];
                case 3:
                    Logger.getInstance(instanceName).debug("Document cloned, using computed rendering");
                    CacheStorage.attachInstance(options.cache);
                    Logger.getInstance(instanceName).debug("Starting DOM parsing");
                    root = parseTree(clonedElement);
                    CacheStorage.detachInstance();
                    if (backgroundColor === root.styles.backgroundColor) {
                        root.styles.backgroundColor = COLORS.TRANSPARENT;
                    }
                    Logger.getInstance(instanceName).debug("Starting renderer");
                    renderer = new CanvasRenderer(renderOptions);
                    return [4 /*yield*/, renderer.render(root)];
                case 4:
                    canvas = _b.sent();
                    _b.label = 5;
                case 5:
                    if (options.removeContainer === true) {
                        if (!DocumentCloner.destroy(container)) {
                            Logger.getInstance(instanceName).error("Cannot detach cloned iframe as it is not in the DOM anymore");
                        }
                    }
                    Logger.getInstance(instanceName).debug("Finished rendering");
                    Logger.destroy(instanceName);
                    CacheStorage.destroy(instanceName);
                    return [2 /*return*/, canvas];
            }
        });
    }); };

    return html2canvas;

}));
//# sourceMappingURL=html2canvas.js.map
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.0.8/LICENSE */

(function (global, factory) {
   true ? module.exports = factory() :
  undefined;
}(this, function () { 'use strict';

  function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

  var hasOwnProperty = Object.hasOwnProperty,
      setPrototypeOf = Object.setPrototypeOf,
      isFrozen = Object.isFrozen;
  var freeze = Object.freeze,
      seal = Object.seal,
      create = Object.create; // eslint-disable-line import/no-mutable-exports

  var _ref = typeof Reflect !== 'undefined' && Reflect,
      apply = _ref.apply,
      construct = _ref.construct;

  if (!apply) {
    apply = function apply(fun, thisValue, args) {
      return fun.apply(thisValue, args);
    };
  }

  if (!freeze) {
    freeze = function freeze(x) {
      return x;
    };
  }

  if (!seal) {
    seal = function seal(x) {
      return x;
    };
  }

  if (!construct) {
    construct = function construct(Func, args) {
      return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();
    };
  }

  var arrayForEach = unapply(Array.prototype.forEach);
  var arrayPop = unapply(Array.prototype.pop);
  var arrayPush = unapply(Array.prototype.push);

  var stringToLowerCase = unapply(String.prototype.toLowerCase);
  var stringMatch = unapply(String.prototype.match);
  var stringReplace = unapply(String.prototype.replace);
  var stringIndexOf = unapply(String.prototype.indexOf);
  var stringTrim = unapply(String.prototype.trim);

  var regExpTest = unapply(RegExp.prototype.test);

  var typeErrorCreate = unconstruct(TypeError);

  function unapply(func) {
    return function (thisArg) {
      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }

      return apply(func, thisArg, args);
    };
  }

  function unconstruct(func) {
    return function () {
      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      return construct(func, args);
    };
  }

  /* Add properties to a lookup table */
  function addToSet(set, array) {
    if (setPrototypeOf) {
      // Make 'in' and truthy checks like Boolean(set.constructor)
      // independent of any properties defined on Object.prototype.
      // Prevent prototype setters from intercepting set as a this value.
      setPrototypeOf(set, null);
    }

    var l = array.length;
    while (l--) {
      var element = array[l];
      if (typeof element === 'string') {
        var lcElement = stringToLowerCase(element);
        if (lcElement !== element) {
          // Config presets (e.g. tags.js, attrs.js) are immutable.
          if (!isFrozen(array)) {
            array[l] = lcElement;
          }

          element = lcElement;
        }
      }

      set[element] = true;
    }

    return set;
  }

  /* Shallow clone an object */
  function clone(object) {
    var newObject = create(null);

    var property = void 0;
    for (property in object) {
      if (apply(hasOwnProperty, object, [property])) {
        newObject[property] = object[property];
      }
    }

    return newObject;
  }

  var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);

  // SVG
  var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']);

  var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);

  var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);

  var text = freeze(['#text']);

  var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);

  var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);

  var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);

  var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);

  // eslint-disable-next-line unicorn/better-regex
  var MUSTACHE_EXPR = seal(/\{\{[\s\S]*|[\s\S]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
  var ERB_EXPR = seal(/<%[\s\S]*|[\s\S]*%>/gm);
  var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape
  var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
  var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
  );
  var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
  var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
  );

  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

  function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

  var getGlobal = function getGlobal() {
    return typeof window === 'undefined' ? null : window;
  };

  /**
   * Creates a no-op policy for internal use only.
   * Don't export this function outside this module!
   * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.
   * @param {Document} document The document object (to determine policy name suffix)
   * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types
   * are not supported).
   */
  var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {
    if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
      return null;
    }

    // Allow the callers to control the unique policy name
    // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
    // Policy creation with duplicate names throws in Trusted Types.
    var suffix = null;
    var ATTR_NAME = 'data-tt-policy-suffix';
    if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {
      suffix = document.currentScript.getAttribute(ATTR_NAME);
    }

    var policyName = 'dompurify' + (suffix ? '#' + suffix : '');

    try {
      return trustedTypes.createPolicy(policyName, {
        createHTML: function createHTML(html$$1) {
          return html$$1;
        }
      });
    } catch (_) {
      // Policy creation failed (most likely another DOMPurify script has
      // already run). Skip creating the policy, as this will only cause errors
      // if TT are enforced.
      console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
      return null;
    }
  };

  function createDOMPurify() {
    var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();

    var DOMPurify = function DOMPurify(root) {
      return createDOMPurify(root);
    };

    /**
     * Version label, exposed for easier checks
     * if DOMPurify is up to date or not
     */
    DOMPurify.version = '2.1.1';

    /**
     * Array of elements that DOMPurify removed during sanitation.
     * Empty if nothing was removed.
     */
    DOMPurify.removed = [];

    if (!window || !window.document || window.document.nodeType !== 9) {
      // Not running in a browser, provide a factory function
      // so that you can pass your own Window
      DOMPurify.isSupported = false;

      return DOMPurify;
    }

    var originalDocument = window.document;

    var document = window.document;
    var DocumentFragment = window.DocumentFragment,
        HTMLTemplateElement = window.HTMLTemplateElement,
        Node = window.Node,
        NodeFilter = window.NodeFilter,
        _window$NamedNodeMap = window.NamedNodeMap,
        NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,
        Text = window.Text,
        Comment = window.Comment,
        DOMParser = window.DOMParser,
        trustedTypes = window.trustedTypes;

    // As per issue #47, the web-components registry is inherited by a
    // new document created via createHTMLDocument. As per the spec
    // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
    // a new empty registry is used when creating a template contents owner
    // document, so we use that as our parent document to ensure nothing
    // is inherited.

    if (typeof HTMLTemplateElement === 'function') {
      var template = document.createElement('template');
      if (template.content && template.content.ownerDocument) {
        document = template.content.ownerDocument;
      }
    }

    var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);
    var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';

    var _document = document,
        implementation = _document.implementation,
        createNodeIterator = _document.createNodeIterator,
        getElementsByTagName = _document.getElementsByTagName,
        createDocumentFragment = _document.createDocumentFragment;
    var importNode = originalDocument.importNode;


    var documentMode = {};
    try {
      documentMode = clone(document).documentMode ? document.documentMode : {};
    } catch (_) {}

    var hooks = {};

    /**
     * Expose whether this browser supports running the full DOMPurify.
     */
    DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;

    var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,
        ERB_EXPR$$1 = ERB_EXPR,
        DATA_ATTR$$1 = DATA_ATTR,
        ARIA_ATTR$$1 = ARIA_ATTR,
        IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,
        ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;
    var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;

    /**
     * We consider the elements and attributes below to be safe. Ideally
     * don't add any new ones but feel free to remove unwanted ones.
     */

    /* allowed element names */

    var ALLOWED_TAGS = null;
    var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));

    /* Allowed attribute names */
    var ALLOWED_ATTR = null;
    var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));

    /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
    var FORBID_TAGS = null;

    /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
    var FORBID_ATTR = null;

    /* Decide if ARIA attributes are okay */
    var ALLOW_ARIA_ATTR = true;

    /* Decide if custom data attributes are okay */
    var ALLOW_DATA_ATTR = true;

    /* Decide if unknown protocols are okay */
    var ALLOW_UNKNOWN_PROTOCOLS = false;

    /* Output should be safe for common template engines.
     * This means, DOMPurify removes data attributes, mustaches and ERB
     */
    var SAFE_FOR_TEMPLATES = false;

    /* Decide if document with <html>... should be returned */
    var WHOLE_DOCUMENT = false;

    /* Track whether config is already set on this instance of DOMPurify. */
    var SET_CONFIG = false;

    /* Decide if all elements (e.g. style, script) must be children of
     * document.body. By default, browsers might move them to document.head */
    var FORCE_BODY = false;

    /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
     * string (or a TrustedHTML object if Trusted Types are supported).
     * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
     */
    var RETURN_DOM = false;

    /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
     * string  (or a TrustedHTML object if Trusted Types are supported) */
    var RETURN_DOM_FRAGMENT = false;

    /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM
     * `Node` is imported into the current `Document`. If this flag is not enabled the
     * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by
     * DOMPurify. */
    var RETURN_DOM_IMPORT = false;

    /* Try to return a Trusted Type object instead of a string, return a string in
     * case Trusted Types are not supported  */
    var RETURN_TRUSTED_TYPE = false;

    /* Output should be free from DOM clobbering attacks? */
    var SANITIZE_DOM = true;

    /* Keep element content when removing element? */
    var KEEP_CONTENT = true;

    /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
     * of importing it into a new Document and returning a sanitized copy */
    var IN_PLACE = false;

    /* Allow usage of profiles like html, svg and mathMl */
    var USE_PROFILES = {};

    /* Tags to ignore content of when KEEP_CONTENT is true */
    var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);

    /* Tags that are safe for data: URIs */
    var DATA_URI_TAGS = null;
    var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);

    /* Attributes safe for values like "javascript:" */
    var URI_SAFE_ATTRIBUTES = null;
    var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);

    /* Keep a reference to config to pass to hooks */
    var CONFIG = null;

    /* Ideally, do not touch anything below this line */
    /* ______________________________________________ */

    var formElement = document.createElement('form');

    /**
     * _parseConfig
     *
     * @param  {Object} cfg optional config literal
     */
    // eslint-disable-next-line complexity
    var _parseConfig = function _parseConfig(cfg) {
      if (CONFIG && CONFIG === cfg) {
        return;
      }

      /* Shield configuration object from tampering */
      if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {
        cfg = {};
      }

      /* Shield configuration object from prototype pollution */
      cfg = clone(cfg);

      /* Set configuration parameters */
      ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;
      ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;
      URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;
      DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;
      FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};
      FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};
      USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;
      ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
      ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
      ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
      SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
      WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
      RETURN_DOM = cfg.RETURN_DOM || false; // Default false
      RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
      RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false
      RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
      FORCE_BODY = cfg.FORCE_BODY || false; // Default false
      SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
      KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
      IN_PLACE = cfg.IN_PLACE || false; // Default false
      IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;
      if (SAFE_FOR_TEMPLATES) {
        ALLOW_DATA_ATTR = false;
      }

      if (RETURN_DOM_FRAGMENT) {
        RETURN_DOM = true;
      }

      /* Parse profile info */
      if (USE_PROFILES) {
        ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));
        ALLOWED_ATTR = [];
        if (USE_PROFILES.html === true) {
          addToSet(ALLOWED_TAGS, html);
          addToSet(ALLOWED_ATTR, html$1);
        }

        if (USE_PROFILES.svg === true) {
          addToSet(ALLOWED_TAGS, svg);
          addToSet(ALLOWED_ATTR, svg$1);
          addToSet(ALLOWED_ATTR, xml);
        }

        if (USE_PROFILES.svgFilters === true) {
          addToSet(ALLOWED_TAGS, svgFilters);
          addToSet(ALLOWED_ATTR, svg$1);
          addToSet(ALLOWED_ATTR, xml);
        }

        if (USE_PROFILES.mathMl === true) {
          addToSet(ALLOWED_TAGS, mathMl);
          addToSet(ALLOWED_ATTR, mathMl$1);
          addToSet(ALLOWED_ATTR, xml);
        }
      }

      /* Merge configuration parameters */
      if (cfg.ADD_TAGS) {
        if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
          ALLOWED_TAGS = clone(ALLOWED_TAGS);
        }

        addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);
      }

      if (cfg.ADD_ATTR) {
        if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
          ALLOWED_ATTR = clone(ALLOWED_ATTR);
        }

        addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);
      }

      if (cfg.ADD_URI_SAFE_ATTR) {
        addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);
      }

      /* Add #text in case KEEP_CONTENT is set to true */
      if (KEEP_CONTENT) {
        ALLOWED_TAGS['#text'] = true;
      }

      /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
      if (WHOLE_DOCUMENT) {
        addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
      }

      /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
      if (ALLOWED_TAGS.table) {
        addToSet(ALLOWED_TAGS, ['tbody']);
        delete FORBID_TAGS.tbody;
      }

      // Prevent further manipulation of configuration.
      // Not available in IE8, Safari 5, etc.
      if (freeze) {
        freeze(cfg);
      }

      CONFIG = cfg;
    };

    /**
     * _forceRemove
     *
     * @param  {Node} node a DOM node
     */
    var _forceRemove = function _forceRemove(node) {
      arrayPush(DOMPurify.removed, { element: node });
      try {
        node.parentNode.removeChild(node);
      } catch (_) {
        node.outerHTML = emptyHTML;
      }
    };

    /**
     * _removeAttribute
     *
     * @param  {String} name an Attribute name
     * @param  {Node} node a DOM node
     */
    var _removeAttribute = function _removeAttribute(name, node) {
      try {
        arrayPush(DOMPurify.removed, {
          attribute: node.getAttributeNode(name),
          from: node
        });
      } catch (_) {
        arrayPush(DOMPurify.removed, {
          attribute: null,
          from: node
        });
      }

      node.removeAttribute(name);
    };

    /**
     * _initDocument
     *
     * @param  {String} dirty a string of dirty markup
     * @return {Document} a DOM, filled with the dirty markup
     */
    var _initDocument = function _initDocument(dirty) {
      /* Create a HTML document */
      var doc = void 0;
      var leadingWhitespace = void 0;

      if (FORCE_BODY) {
        dirty = '<remove></remove>' + dirty;
      } else {
        /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
        var matches = stringMatch(dirty, /^[\r\n\t ]+/);
        leadingWhitespace = matches && matches[0];
      }

      var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
      /* Use the DOMParser API by default, fallback later if needs be */
      try {
        doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');
      } catch (_) {}

      /* Use createHTMLDocument in case DOMParser is not available */
      if (!doc || !doc.documentElement) {
        doc = implementation.createHTMLDocument('');
        var _doc = doc,
            body = _doc.body;

        body.parentNode.removeChild(body.parentNode.firstElementChild);
        body.outerHTML = dirtyPayload;
      }

      if (dirty && leadingWhitespace) {
        doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);
      }

      /* Work on whole document or just its body */
      return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
    };

    /**
     * _createIterator
     *
     * @param  {Document} root document/fragment to create iterator for
     * @return {Iterator} iterator instance
     */
    var _createIterator = function _createIterator(root) {
      return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () {
        return NodeFilter.FILTER_ACCEPT;
      }, false);
    };

    /**
     * _isClobbered
     *
     * @param  {Node} elm element to check for clobbering attacks
     * @return {Boolean} true if clobbered, false if safe
     */
    var _isClobbered = function _isClobbered(elm) {
      if (elm instanceof Text || elm instanceof Comment) {
        return false;
      }

      if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') {
        return true;
      }

      return false;
    };

    /**
     * _isNode
     *
     * @param  {Node} obj object to check whether it's a DOM node
     * @return {Boolean} true is object is a DOM node
     */
    var _isNode = function _isNode(object) {
      return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';
    };

    /**
     * _executeHook
     * Execute user configurable hooks
     *
     * @param  {String} entryPoint  Name of the hook's entry point
     * @param  {Node} currentNode node to work on with the hook
     * @param  {Object} data additional hook parameters
     */
    var _executeHook = function _executeHook(entryPoint, currentNode, data) {
      if (!hooks[entryPoint]) {
        return;
      }

      arrayForEach(hooks[entryPoint], function (hook) {
        hook.call(DOMPurify, currentNode, data, CONFIG);
      });
    };

    /**
     * _sanitizeElements
     *
     * @protect nodeName
     * @protect textContent
     * @protect removeChild
     *
     * @param   {Node} currentNode to check for permission to exist
     * @return  {Boolean} true if node was killed, false if left alive
     */
    var _sanitizeElements = function _sanitizeElements(currentNode) {
      var content = void 0;

      /* Execute a hook if present */
      _executeHook('beforeSanitizeElements', currentNode, null);

      /* Check if element is clobbered or can clobber */
      if (_isClobbered(currentNode)) {
        _forceRemove(currentNode);
        return true;
      }

      /* Check if tagname contains Unicode */
      if (stringMatch(currentNode.nodeName, /[\u0080-\uFFFF]/)) {
        _forceRemove(currentNode);
        return true;
      }

      /* Now let's check the element's type and name */
      var tagName = stringToLowerCase(currentNode.nodeName);

      /* Execute a hook if present */
      _executeHook('uponSanitizeElement', currentNode, {
        tagName: tagName,
        allowedTags: ALLOWED_TAGS
      });

      /* Take care of an mXSS pattern using p, br inside svg, math */
      if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br').length !== 0) {
        _forceRemove(currentNode);
        return true;
      }

      /* Detect mXSS attempts abusing namespace confusion */
      if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[!/\w]/g, currentNode.innerHTML) && regExpTest(/<[!/\w]/g, currentNode.textContent)) {
        _forceRemove(currentNode);
        return true;
      }

      /* Remove element if anything forbids its presence */
      if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
        /* Keep content except for bad-listed elements */
        if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') {
          try {
            var htmlToInsert = currentNode.innerHTML;
            currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert);
          } catch (_) {}
        }

        _forceRemove(currentNode);
        return true;
      }

      /* Remove in case a noscript/noembed XSS is suspected */
      if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\/no(script|embed)/i, currentNode.innerHTML)) {
        _forceRemove(currentNode);
        return true;
      }

      /* Sanitize element content to be template-safe */
      if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {
        /* Get the element's text content */
        content = currentNode.textContent;
        content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');
        content = stringReplace(content, ERB_EXPR$$1, ' ');
        if (currentNode.textContent !== content) {
          arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });
          currentNode.textContent = content;
        }
      }

      /* Execute a hook if present */
      _executeHook('afterSanitizeElements', currentNode, null);

      return false;
    };

    /**
     * _isValidAttribute
     *
     * @param  {string} lcTag Lowercase tag name of containing element.
     * @param  {string} lcName Lowercase attribute name.
     * @param  {string} value Attribute value.
     * @return {Boolean} Returns true if `value` is valid, otherwise false.
     */
    // eslint-disable-next-line complexity
    var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
      /* Make sure attribute cannot clobber */
      if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
        return false;
      }

      /* Allow valid data-* attributes: At least one character after "-"
          (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
          XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
          We don't need to check the value; it's always URI safe. */
      if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
        return false;

        /* Check value is safe. First, is attr inert? If so, is safe */
      } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else {
        return false;
      }

      return true;
    };

    /**
     * _sanitizeAttributes
     *
     * @protect attributes
     * @protect nodeName
     * @protect removeAttribute
     * @protect setAttribute
     *
     * @param  {Node} currentNode to sanitize
     */
    var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
      var attr = void 0;
      var value = void 0;
      var lcName = void 0;
      var l = void 0;
      /* Execute a hook if present */
      _executeHook('beforeSanitizeAttributes', currentNode, null);

      var attributes = currentNode.attributes;

      /* Check if we have attributes; if not we might have a text node */

      if (!attributes) {
        return;
      }

      var hookEvent = {
        attrName: '',
        attrValue: '',
        keepAttr: true,
        allowedAttributes: ALLOWED_ATTR
      };
      l = attributes.length;

      /* Go backwards over all attributes; safely remove bad ones */
      while (l--) {
        attr = attributes[l];
        var _attr = attr,
            name = _attr.name,
            namespaceURI = _attr.namespaceURI;

        value = stringTrim(attr.value);
        lcName = stringToLowerCase(name);

        /* Execute a hook if present */
        hookEvent.attrName = lcName;
        hookEvent.attrValue = value;
        hookEvent.keepAttr = true;
        hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
        _executeHook('uponSanitizeAttribute', currentNode, hookEvent);
        value = hookEvent.attrValue;
        /* Did the hooks approve of the attribute? */
        if (hookEvent.forceKeepAttr) {
          continue;
        }

        /* Remove attribute */
        _removeAttribute(name, currentNode);

        /* Did the hooks approve of the attribute? */
        if (!hookEvent.keepAttr) {
          continue;
        }

        /* Work around a security issue in jQuery 3.0 */
        if (regExpTest(/\/>/i, value)) {
          _removeAttribute(name, currentNode);
          continue;
        }

        /* Sanitize attribute content to be template-safe */
        if (SAFE_FOR_TEMPLATES) {
          value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');
          value = stringReplace(value, ERB_EXPR$$1, ' ');
        }

        /* Is `value` valid for this attribute? */
        var lcTag = currentNode.nodeName.toLowerCase();
        if (!_isValidAttribute(lcTag, lcName, value)) {
          continue;
        }

        /* Handle invalid data-* attribute set by try-catching it */
        try {
          if (namespaceURI) {
            currentNode.setAttributeNS(namespaceURI, name, value);
          } else {
            /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
            currentNode.setAttribute(name, value);
          }

          arrayPop(DOMPurify.removed);
        } catch (_) {}
      }

      /* Execute a hook if present */
      _executeHook('afterSanitizeAttributes', currentNode, null);
    };

    /**
     * _sanitizeShadowDOM
     *
     * @param  {DocumentFragment} fragment to iterate over recursively
     */
    var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
      var shadowNode = void 0;
      var shadowIterator = _createIterator(fragment);

      /* Execute a hook if present */
      _executeHook('beforeSanitizeShadowDOM', fragment, null);

      while (shadowNode = shadowIterator.nextNode()) {
        /* Execute a hook if present */
        _executeHook('uponSanitizeShadowNode', shadowNode, null);

        /* Sanitize tags and elements */
        if (_sanitizeElements(shadowNode)) {
          continue;
        }

        /* Deep shadow DOM detected */
        if (shadowNode.content instanceof DocumentFragment) {
          _sanitizeShadowDOM(shadowNode.content);
        }

        /* Check attributes, sanitize if necessary */
        _sanitizeAttributes(shadowNode);
      }

      /* Execute a hook if present */
      _executeHook('afterSanitizeShadowDOM', fragment, null);
    };

    /**
     * Sanitize
     * Public method providing core sanitation functionality
     *
     * @param {String|Node} dirty string or DOM node
     * @param {Object} configuration object
     */
    // eslint-disable-next-line complexity
    DOMPurify.sanitize = function (dirty, cfg) {
      var body = void 0;
      var importedNode = void 0;
      var currentNode = void 0;
      var oldNode = void 0;
      var returnNode = void 0;
      /* Make sure we have a string to sanitize.
        DO NOT return early, as this will return the wrong type if
        the user has requested a DOM object rather than a string */
      if (!dirty) {
        dirty = '<!-->';
      }

      /* Stringify, in case dirty is an object */
      if (typeof dirty !== 'string' && !_isNode(dirty)) {
        // eslint-disable-next-line no-negated-condition
        if (typeof dirty.toString !== 'function') {
          throw typeErrorCreate('toString is not a function');
        } else {
          dirty = dirty.toString();
          if (typeof dirty !== 'string') {
            throw typeErrorCreate('dirty is not a string, aborting');
          }
        }
      }

      /* Check we can run. Otherwise fall back or ignore */
      if (!DOMPurify.isSupported) {
        if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {
          if (typeof dirty === 'string') {
            return window.toStaticHTML(dirty);
          }

          if (_isNode(dirty)) {
            return window.toStaticHTML(dirty.outerHTML);
          }
        }

        return dirty;
      }

      /* Assign config vars */
      if (!SET_CONFIG) {
        _parseConfig(cfg);
      }

      /* Clean up removed elements */
      DOMPurify.removed = [];

      /* Check if dirty is correctly typed for IN_PLACE */
      if (typeof dirty === 'string') {
        IN_PLACE = false;
      }

      if (IN_PLACE) ; else if (dirty instanceof Node) {
        /* If dirty is a DOM element, append to an empty document to avoid
           elements being stripped by the parser */
        body = _initDocument('<!---->');
        importedNode = body.ownerDocument.importNode(dirty, true);
        if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {
          /* Node is already a body, use as is */
          body = importedNode;
        } else if (importedNode.nodeName === 'HTML') {
          body = importedNode;
        } else {
          // eslint-disable-next-line unicorn/prefer-node-append
          body.appendChild(importedNode);
        }
      } else {
        /* Exit directly if we have nothing to do */
        if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&
        // eslint-disable-next-line unicorn/prefer-includes
        dirty.indexOf('<') === -1) {
          return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
        }

        /* Initialize the document to work on */
        body = _initDocument(dirty);

        /* Check we have a DOM node from the data */
        if (!body) {
          return RETURN_DOM ? null : emptyHTML;
        }
      }

      /* Remove first element node (ours) if FORCE_BODY is set */
      if (body && FORCE_BODY) {
        _forceRemove(body.firstChild);
      }

      /* Get node iterator */
      var nodeIterator = _createIterator(IN_PLACE ? dirty : body);

      /* Now start iterating over the created document */
      while (currentNode = nodeIterator.nextNode()) {
        /* Fix IE's strange behavior with manipulated textNodes #89 */
        if (currentNode.nodeType === 3 && currentNode === oldNode) {
          continue;
        }

        /* Sanitize tags and elements */
        if (_sanitizeElements(currentNode)) {
          continue;
        }

        /* Shadow DOM detected, sanitize it */
        if (currentNode.content instanceof DocumentFragment) {
          _sanitizeShadowDOM(currentNode.content);
        }

        /* Check attributes, sanitize if necessary */
        _sanitizeAttributes(currentNode);

        oldNode = currentNode;
      }

      oldNode = null;

      /* If we sanitized `dirty` in-place, return it. */
      if (IN_PLACE) {
        return dirty;
      }

      /* Return sanitized string or DOM */
      if (RETURN_DOM) {
        if (RETURN_DOM_FRAGMENT) {
          returnNode = createDocumentFragment.call(body.ownerDocument);

          while (body.firstChild) {
            // eslint-disable-next-line unicorn/prefer-node-append
            returnNode.appendChild(body.firstChild);
          }
        } else {
          returnNode = body;
        }

        if (RETURN_DOM_IMPORT) {
          /*
            AdoptNode() is not used because internal state is not reset
            (e.g. the past names map of a HTMLFormElement), this is safe
            in theory but we would rather not risk another attack vector.
            The state that is cloned by importNode() is explicitly defined
            by the specs.
          */
          returnNode = importNode.call(originalDocument, returnNode, true);
        }

        return returnNode;
      }

      var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;

      /* Sanitize final string template-safe */
      if (SAFE_FOR_TEMPLATES) {
        serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');
        serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');
      }

      return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
    };

    /**
     * Public method to set the configuration once
     * setConfig
     *
     * @param {Object} cfg configuration object
     */
    DOMPurify.setConfig = function (cfg) {
      _parseConfig(cfg);
      SET_CONFIG = true;
    };

    /**
     * Public method to remove the configuration
     * clearConfig
     *
     */
    DOMPurify.clearConfig = function () {
      CONFIG = null;
      SET_CONFIG = false;
    };

    /**
     * Public method to check if an attribute value is valid.
     * Uses last set config, if any. Otherwise, uses config defaults.
     * isValidAttribute
     *
     * @param  {string} tag Tag name of containing element.
     * @param  {string} attr Attribute name.
     * @param  {string} value Attribute value.
     * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
     */
    DOMPurify.isValidAttribute = function (tag, attr, value) {
      /* Initialize shared config vars if necessary. */
      if (!CONFIG) {
        _parseConfig({});
      }

      var lcTag = stringToLowerCase(tag);
      var lcName = stringToLowerCase(attr);
      return _isValidAttribute(lcTag, lcName, value);
    };

    /**
     * AddHook
     * Public method to add DOMPurify hooks
     *
     * @param {String} entryPoint entry point for the hook to add
     * @param {Function} hookFunction function to execute
     */
    DOMPurify.addHook = function (entryPoint, hookFunction) {
      if (typeof hookFunction !== 'function') {
        return;
      }

      hooks[entryPoint] = hooks[entryPoint] || [];
      arrayPush(hooks[entryPoint], hookFunction);
    };

    /**
     * RemoveHook
     * Public method to remove a DOMPurify hook at a given entryPoint
     * (pops it from the stack of hooks if more are present)
     *
     * @param {String} entryPoint entry point for the hook to remove
     */
    DOMPurify.removeHook = function (entryPoint) {
      if (hooks[entryPoint]) {
        arrayPop(hooks[entryPoint]);
      }
    };

    /**
     * RemoveHooks
     * Public method to remove all DOMPurify hooks at a given entryPoint
     *
     * @param  {String} entryPoint entry point for the hooks to remove
     */
    DOMPurify.removeHooks = function (entryPoint) {
      if (hooks[entryPoint]) {
        hooks[entryPoint] = [];
      }
    };

    /**
     * RemoveAllHooks
     * Public method to remove all DOMPurify hooks
     *
     */
    DOMPurify.removeAllHooks = function () {
      hooks = {};
    };

    return DOMPurify;
  }

  var purify = createDOMPurify();

  return purify;

}));
//# sourceMappingURL=purify.js.map
__webpack_require__.r(__webpack_exports__);
/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AElement", function() { return AElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimateColorElement", function() { return AnimateColorElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimateElement", function() { return AnimateElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimateTransformElement", function() { return AnimateTransformElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BoundingBox", function() { return BoundingBox; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CB1", function() { return CB1; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CB2", function() { return CB2; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CB3", function() { return CB3; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CB4", function() { return CB4; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Canvg", function() { return Canvg; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CircleElement", function() { return CircleElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClipPathElement", function() { return ClipPathElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefsElement", function() { return DefsElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DescElement", function() { return DescElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Document", function() { return Document; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return Element; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EllipseElement", function() { return EllipseElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FeColorMatrixElement", function() { return FeColorMatrixElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FeCompositeElement", function() { return FeCompositeElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FeDropShadowElement", function() { return FeDropShadowElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FeGaussianBlurElement", function() { return FeGaussianBlurElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FeMorphologyElement", function() { return FeMorphologyElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FilterElement", function() { return FilterElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Font", function() { return Font; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FontElement", function() { return FontElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FontFaceElement", function() { return FontFaceElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GElement", function() { return GElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GlyphElement", function() { return GlyphElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GradientElement", function() { return GradientElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ImageElement", function() { return ImageElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LineElement", function() { return LineElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LinearGradientElement", function() { return LinearGradientElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkerElement", function() { return MarkerElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MaskElement", function() { return MaskElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Matrix", function() { return Matrix; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MissingGlyphElement", function() { return MissingGlyphElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Mouse", function() { return Mouse; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PSEUDO_ZERO", function() { return PSEUDO_ZERO; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Parser", function() { return Parser; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PathElement", function() { return PathElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PathParser", function() { return PathParser; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PatternElement", function() { return PatternElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Point", function() { return Point; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PolygonElement", function() { return PolygonElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PolylineElement", function() { return PolylineElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Property", function() { return Property; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QB1", function() { return QB1; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QB2", function() { return QB2; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QB3", function() { return QB3; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RadialGradientElement", function() { return RadialGradientElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RectElement", function() { return RectElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RenderedElement", function() { return RenderedElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Rotate", function() { return Rotate; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SVGElement", function() { return SVGElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SVGFontLoader", function() { return SVGFontLoader; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Scale", function() { return Scale; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Screen", function() { return Screen; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Skew", function() { return Skew; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SkewX", function() { return SkewX; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SkewY", function() { return SkewY; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StopElement", function() { return StopElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleElement", function() { return StyleElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolElement", function() { return SymbolElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TRefElement", function() { return TRefElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TSpanElement", function() { return TSpanElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextElement", function() { return TextElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextPathElement", function() { return TextPathElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TitleElement", function() { return TitleElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Transform", function() { return Transform; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Translate", function() { return Translate; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UnknownElement", function() { return UnknownElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UseElement", function() { return UseElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ViewPort", function() { return ViewPort; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compressSpaces", function() { return compressSpaces; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSelectorSpecificity", function() { return getSelectorSpecificity; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeAttributeName", function() { return normalizeAttributeName; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeColor", function() { return normalizeColor; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseExternalUrl", function() { return parseExternalUrl; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "presets", function() { return index; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toNumbers", function() { return toNumbers; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trimLeft", function() { return trimLeft; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trimRight", function() { return trimRight; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vectorMagnitude", function() { return vectorMagnitude; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vectorsAngle", function() { return vectorsAngle; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vectorsRatio", function() { return vectorsRatio; });
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1133);
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(662);
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1136);
/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1137);
/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1138);
/* harmony import */ var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1139);
/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63);
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1140);
/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1143);
/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1144);
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1145);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1146);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1147);
/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(1148);
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(28);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(50);
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(89);
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(17);
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(23);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18__);
/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(1149);
/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_19__);
/* harmony import */ var core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(1150);
/* harmony import */ var core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_20__);
/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(1151);
/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_21__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(1153);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(1155);
/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(1161);
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(443);
/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_25__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(1163);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_26__);
/* harmony import */ var rgbcolor__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(444);
/* harmony import */ var rgbcolor__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(rgbcolor__WEBPACK_IMPORTED_MODULE_27__);
/* harmony import */ var core_js_modules_es_reflect_construct__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(1164);
/* harmony import */ var core_js_modules_es_reflect_construct__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct__WEBPACK_IMPORTED_MODULE_28__);
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(1166);
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_29__);
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(32);
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30__);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(13);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31__);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(30);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32__);
/* harmony import */ var core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(1167);
/* harmony import */ var core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_33__);
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(1169);
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_34__);
/* harmony import */ var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(1170);
/* harmony import */ var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_35__);
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(1171);
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_36__);
/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(1172);
/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_37__);
/* harmony import */ var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(1175);
/* harmony import */ var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_38__);
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(693);
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_39__);
/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(1180);
/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_40___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_40__);
/* harmony import */ var core_js_modules_es_array_reverse__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(1181);
/* harmony import */ var core_js_modules_es_array_reverse__WEBPACK_IMPORTED_MODULE_41___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reverse__WEBPACK_IMPORTED_MODULE_41__);
/* harmony import */ var _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(209);
/* harmony import */ var _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42__);
/* harmony import */ var core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(1183);
/* harmony import */ var core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_43___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_43__);
/* harmony import */ var core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(1184);
/* harmony import */ var core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_44__);
/* harmony import */ var core_js_modules_es_reflect_delete_property__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(1186);
/* harmony import */ var core_js_modules_es_reflect_delete_property__WEBPACK_IMPORTED_MODULE_45___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_delete_property__WEBPACK_IMPORTED_MODULE_45__);
/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(49);
/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46__);
/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(689);
/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_47___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_47__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(1187);
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_48__);
/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(1188);
/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_49___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_49__);
/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(1189);
/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_50___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_50__);
/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(1190);
/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_51___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_51__);
/* harmony import */ var core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(1191);
/* harmony import */ var core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_52___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_52__);
/* harmony import */ var core_js_modules_es_reflect_apply__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(1195);
/* harmony import */ var core_js_modules_es_reflect_apply__WEBPACK_IMPORTED_MODULE_53___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_apply__WEBPACK_IMPORTED_MODULE_53__);
/* harmony import */ var core_js_modules_es_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(1196);
/* harmony import */ var core_js_modules_es_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_54___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_54__);
/* harmony import */ var stackblur_canvas__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(694);

























































/**
 * HTML-safe compress white-spaces.
 * @param str - String to compress.
 */
function compressSpaces(str) {
  return str.replace(/(?!\u3000)\s+/gm, ' ');
}
/**
 * HTML-safe left trim.
 * @param str - String to trim.
 */

function trimLeft(str) {
  return str.replace(/^[\n \t]+/, '');
}
/**
 * HTML-safe right trim.
 * @param str - String to trim.
 */

function trimRight(str) {
  return str.replace(/[\n \t]+$/, '');
}
/**
 * String to numbers array.
 * @param str - Numbers string.
 */

function toNumbers(str) {
  var matches = (str || '').match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm) || [];
  return matches.map(parseFloat);
} // Microsoft Edge fix

var allUppercase = /^[A-Z-]+$/;
/**
 * Normalize attribute name.
 * @param name - Attribute name.
 */

function normalizeAttributeName(name) {
  if (allUppercase.test(name)) {
    return name.toLowerCase();
  }

  return name;
}
/**
 * Parse external URL.
 * @param url - CSS url string.
 */

function parseExternalUrl(url) {
  //                                   single quotes [2]
  //                                   v           double quotes [3]
  //                                   v           v        no quotes [4]
  //                                   v           v        v
  var urlMatch = url.match(/url\(('([^']+)'|"([^"]+)"|([^'"\)]+))\)/) || [];
  return urlMatch[2] || urlMatch[3] || urlMatch[4];
}
/**
 * Transform floats to integers in rgb colors.
 * @param color - Color to normalize.
 */

function normalizeColor(color) {
  if (!color.startsWith('rgb')) {
    return color;
  }

  var rgbParts = 3;
  var normalizedColor = color.replace(/\d+(\.\d+)?/g, function (num, isFloat) {
    return rgbParts-- && isFloat ? String(Math.round(parseFloat(num))) : num;
  });
  return normalizedColor;
}

// slightly modified version of https://github.com/keeganstreet/specificity/blob/master/specificity.js
var attributeRegex = /(\[[^\]]+\])/g;
var idRegex = /(#[^\s\+>~\.\[:]+)/g;
var classRegex = /(\.[^\s\+>~\.\[:]+)/g;
var pseudoElementRegex = /(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi;
var pseudoClassWithBracketsRegex = /(:[\w-]+\([^\)]*\))/gi;
var pseudoClassRegex = /(:[^\s\+>~\.\[:]+)/g;
var elementRegex = /([^\s\+>~\.\[:]+)/g;

function findSelectorMatch(selector, regex) {
  var matches = selector.match(regex);

  if (!matches) {
    return [selector, 0];
  }

  return [selector.replace(regex, ' '), matches.length];
}
/**
 * Measure selector specificity.
 * @param selector - Selector to measure.
 */


function getSelectorSpecificity(selector) {
  var specificity = [0, 0, 0];
  var currentSelector = selector.replace(/:not\(([^\)]*)\)/g, '     $1 ').replace(/{[\s\S]*/gm, ' ');
  var delta = 0;

  var _findSelectorMatch = findSelectorMatch(currentSelector, attributeRegex);

  var _findSelectorMatch2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch, 2);

  currentSelector = _findSelectorMatch2[0];
  delta = _findSelectorMatch2[1];
  specificity[1] += delta;

  var _findSelectorMatch3 = findSelectorMatch(currentSelector, idRegex);

  var _findSelectorMatch4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch3, 2);

  currentSelector = _findSelectorMatch4[0];
  delta = _findSelectorMatch4[1];
  specificity[0] += delta;

  var _findSelectorMatch5 = findSelectorMatch(currentSelector, classRegex);

  var _findSelectorMatch6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch5, 2);

  currentSelector = _findSelectorMatch6[0];
  delta = _findSelectorMatch6[1];
  specificity[1] += delta;

  var _findSelectorMatch7 = findSelectorMatch(currentSelector, pseudoElementRegex);

  var _findSelectorMatch8 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch7, 2);

  currentSelector = _findSelectorMatch8[0];
  delta = _findSelectorMatch8[1];
  specificity[2] += delta;

  var _findSelectorMatch9 = findSelectorMatch(currentSelector, pseudoClassWithBracketsRegex);

  var _findSelectorMatch10 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch9, 2);

  currentSelector = _findSelectorMatch10[0];
  delta = _findSelectorMatch10[1];
  specificity[1] += delta;

  var _findSelectorMatch11 = findSelectorMatch(currentSelector, pseudoClassRegex);

  var _findSelectorMatch12 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch11, 2);

  currentSelector = _findSelectorMatch12[0];
  delta = _findSelectorMatch12[1];
  specificity[1] += delta;
  currentSelector = currentSelector.replace(/[\*\s\+>~]/g, ' ').replace(/[#\.]/g, ' ');

  var _findSelectorMatch13 = findSelectorMatch(currentSelector, elementRegex);

  var _findSelectorMatch14 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_findSelectorMatch13, 2);

  currentSelector = _findSelectorMatch14[0];
  delta = _findSelectorMatch14[1];
  // lgtm [js/useless-assignment-to-local]
  specificity[2] += delta;
  return specificity.join('');
}

var PSEUDO_ZERO = .00000001;
/**
 * Vector magnitude.
 */

function vectorMagnitude(v) {
  return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2));
}
/**
 * Ratio between two vectors.
 */

function vectorsRatio(u, v) {
  return (u[0] * v[0] + u[1] * v[1]) / (vectorMagnitude(u) * vectorMagnitude(v));
}
/**
 * Angle between two vectors.
 */

function vectorsAngle(u, v) {
  return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vectorsRatio(u, v));
}
function CB1(t) {
  return t * t * t;
}
function CB2(t) {
  return 3 * t * t * (1 - t);
}
function CB3(t) {
  return 3 * t * (1 - t) * (1 - t);
}
function CB4(t) {
  return (1 - t) * (1 - t) * (1 - t);
}
function QB1(t) {
  return t * t;
}
function QB2(t) {
  return 2 * t * (1 - t);
}
function QB3(t) {
  return (1 - t) * (1 - t);
}

function createCommonjsModule(fn, module) {
	return module = { exports: {} }, fn(module, module.exports), module.exports;
}

var runtime_1 = createCommonjsModule(function (module) {
  /**
   * Copyright (c) 2014-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  var runtime = function (exports) {

    var Op = Object.prototype;
    var hasOwn = Op.hasOwnProperty;
    var undefined$1; // More compressible than void 0.

    var $Symbol = typeof Symbol === "function" ? Symbol : {};
    var iteratorSymbol = $Symbol.iterator || "@@iterator";
    var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
    var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";

    function wrap(innerFn, outerFn, self, tryLocsList) {
      // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
      var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
      var generator = Object.create(protoGenerator.prototype);
      var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,
      // .throw, and .return methods.

      generator._invoke = makeInvokeMethod(innerFn, self, context);
      return generator;
    }

    exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion
    // record like context.tryEntries[i].completion. This interface could
    // have been (and was previously) designed to take a closure to be
    // invoked without arguments, but in all the cases we care about we
    // already have an existing method we want to call, so there's no need
    // to create a new function object. We can even get away with assuming
    // the method takes exactly one argument, since that happens to be true
    // in every case, so we don't have to touch the arguments object. The
    // only additional allocation required is the completion record, which
    // has a stable shape and so hopefully should be cheap to allocate.

    function tryCatch(fn, obj, arg) {
      try {
        return {
          type: "normal",
          arg: fn.call(obj, arg)
        };
      } catch (err) {
        return {
          type: "throw",
          arg: err
        };
      }
    }

    var GenStateSuspendedStart = "suspendedStart";
    var GenStateSuspendedYield = "suspendedYield";
    var GenStateExecuting = "executing";
    var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as
    // breaking out of the dispatch switch statement.

    var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and
    // .constructor.prototype properties for functions that return Generator
    // objects. For full spec compliance, you may wish to configure your
    // minifier not to mangle the names of these two functions.

    function Generator() {}

    function GeneratorFunction() {}

    function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that
    // don't natively support it.


    var IteratorPrototype = {};

    IteratorPrototype[iteratorSymbol] = function () {
      return this;
    };

    var getProto = Object.getPrototypeOf;
    var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

    if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
      // This environment has a native %IteratorPrototype%; use it instead
      // of the polyfill.
      IteratorPrototype = NativeIteratorPrototype;
    }

    var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
    GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
    GeneratorFunctionPrototype.constructor = GeneratorFunction;
    GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; // Helper for defining the .next, .throw, and .return methods of the
    // Iterator interface in terms of a single ._invoke method.

    function defineIteratorMethods(prototype) {
      ["next", "throw", "return"].forEach(function (method) {
        prototype[method] = function (arg) {
          return this._invoke(method, arg);
        };
      });
    }

    exports.isGeneratorFunction = function (genFun) {
      var ctor = typeof genFun === "function" && genFun.constructor;
      return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can
      // do is to check its .name property.
      (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
    };

    exports.mark = function (genFun) {
      if (Object.setPrototypeOf) {
        Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
      } else {
        genFun.__proto__ = GeneratorFunctionPrototype;

        if (!(toStringTagSymbol in genFun)) {
          genFun[toStringTagSymbol] = "GeneratorFunction";
        }
      }

      genFun.prototype = Object.create(Gp);
      return genFun;
    }; // Within the body of any async function, `await x` is transformed to
    // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
    // `hasOwn.call(value, "__await")` to determine if the yielded value is
    // meant to be awaited.


    exports.awrap = function (arg) {
      return {
        __await: arg
      };
    };

    function AsyncIterator(generator, PromiseImpl) {
      function invoke(method, arg, resolve, reject) {
        var record = tryCatch(generator[method], generator, arg);

        if (record.type === "throw") {
          reject(record.arg);
        } else {
          var result = record.arg;
          var value = result.value;

          if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
            return PromiseImpl.resolve(value.__await).then(function (value) {
              invoke("next", value, resolve, reject);
            }, function (err) {
              invoke("throw", err, resolve, reject);
            });
          }

          return PromiseImpl.resolve(value).then(function (unwrapped) {
            // When a yielded Promise is resolved, its final value becomes
            // the .value of the Promise<{value,done}> result for the
            // current iteration.
            result.value = unwrapped;
            resolve(result);
          }, function (error) {
            // If a rejected Promise was yielded, throw the rejection back
            // into the async generator function so it can be handled there.
            return invoke("throw", error, resolve, reject);
          });
        }
      }

      var previousPromise;

      function enqueue(method, arg) {
        function callInvokeWithMethodAndArg() {
          return new PromiseImpl(function (resolve, reject) {
            invoke(method, arg, resolve, reject);
          });
        }

        return previousPromise = // If enqueue has been called before, then we want to wait until
        // all previous Promises have been resolved before calling invoke,
        // so that results are always delivered in the correct order. If
        // enqueue has not been called before, then it is important to
        // call invoke immediately, without waiting on a callback to fire,
        // so that the async generator function has the opportunity to do
        // any necessary setup in a predictable way. This predictability
        // is why the Promise constructor synchronously invokes its
        // executor callback, and why async functions synchronously
        // execute code before the first await. Since we implement simple
        // async functions in terms of async generators, it is especially
        // important to get this right, even though it requires care.
        previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later
        // invocations of the iterator.
        callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
      } // Define the unified helper method that is used to implement .next,
      // .throw, and .return (see defineIteratorMethods).


      this._invoke = enqueue;
    }

    defineIteratorMethods(AsyncIterator.prototype);

    AsyncIterator.prototype[asyncIteratorSymbol] = function () {
      return this;
    };

    exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
    // AsyncIterator objects; they just return a Promise for the value of
    // the final result produced by the iterator.

    exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
      if (PromiseImpl === void 0) PromiseImpl = Promise;
      var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
      return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
      : iter.next().then(function (result) {
        return result.done ? result.value : iter.next();
      });
    };

    function makeInvokeMethod(innerFn, self, context) {
      var state = GenStateSuspendedStart;
      return function invoke(method, arg) {
        if (state === GenStateExecuting) {
          throw new Error("Generator is already running");
        }

        if (state === GenStateCompleted) {
          if (method === "throw") {
            throw arg;
          } // Be forgiving, per 25.3.3.3.3 of the spec:
          // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume


          return doneResult();
        }

        context.method = method;
        context.arg = arg;

        while (true) {
          var delegate = context.delegate;

          if (delegate) {
            var delegateResult = maybeInvokeDelegate(delegate, context);

            if (delegateResult) {
              if (delegateResult === ContinueSentinel) continue;
              return delegateResult;
            }
          }

          if (context.method === "next") {
            // Setting context._sent for legacy support of Babel's
            // function.sent implementation.
            context.sent = context._sent = context.arg;
          } else if (context.method === "throw") {
            if (state === GenStateSuspendedStart) {
              state = GenStateCompleted;
              throw context.arg;
            }

            context.dispatchException(context.arg);
          } else if (context.method === "return") {
            context.abrupt("return", context.arg);
          }

          state = GenStateExecuting;
          var record = tryCatch(innerFn, self, context);

          if (record.type === "normal") {
            // If an exception is thrown from innerFn, we leave state ===
            // GenStateExecuting and loop back for another invocation.
            state = context.done ? GenStateCompleted : GenStateSuspendedYield;

            if (record.arg === ContinueSentinel) {
              continue;
            }

            return {
              value: record.arg,
              done: context.done
            };
          } else if (record.type === "throw") {
            state = GenStateCompleted; // Dispatch the exception by looping back around to the
            // context.dispatchException(context.arg) call above.

            context.method = "throw";
            context.arg = record.arg;
          }
        }
      };
    } // Call delegate.iterator[context.method](context.arg) and handle the
    // result, either by returning a { value, done } result from the
    // delegate iterator, or by modifying context.method and context.arg,
    // setting context.delegate to null, and returning the ContinueSentinel.


    function maybeInvokeDelegate(delegate, context) {
      var method = delegate.iterator[context.method];

      if (method === undefined$1) {
        // A .throw or .return when the delegate iterator has no .throw
        // method always terminates the yield* loop.
        context.delegate = null;

        if (context.method === "throw") {
          // Note: ["return"] must be used for ES3 parsing compatibility.
          if (delegate.iterator["return"]) {
            // If the delegate iterator has a return method, give it a
            // chance to clean up.
            context.method = "return";
            context.arg = undefined$1;
            maybeInvokeDelegate(delegate, context);

            if (context.method === "throw") {
              // If maybeInvokeDelegate(context) changed context.method from
              // "return" to "throw", let that override the TypeError below.
              return ContinueSentinel;
            }
          }

          context.method = "throw";
          context.arg = new TypeError("The iterator does not provide a 'throw' method");
        }

        return ContinueSentinel;
      }

      var record = tryCatch(method, delegate.iterator, context.arg);

      if (record.type === "throw") {
        context.method = "throw";
        context.arg = record.arg;
        context.delegate = null;
        return ContinueSentinel;
      }

      var info = record.arg;

      if (!info) {
        context.method = "throw";
        context.arg = new TypeError("iterator result is not an object");
        context.delegate = null;
        return ContinueSentinel;
      }

      if (info.done) {
        // Assign the result of the finished delegate to the temporary
        // variable specified by delegate.resultName (see delegateYield).
        context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).

        context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the
        // exception, let the outer generator proceed normally. If
        // context.method was "next", forget context.arg since it has been
        // "consumed" by the delegate iterator. If context.method was
        // "return", allow the original .return call to continue in the
        // outer generator.

        if (context.method !== "return") {
          context.method = "next";
          context.arg = undefined$1;
        }
      } else {
        // Re-yield the result returned by the delegate method.
        return info;
      } // The delegate iterator is finished, so forget it and continue with
      // the outer generator.


      context.delegate = null;
      return ContinueSentinel;
    } // Define Generator.prototype.{next,throw,return} in terms of the
    // unified ._invoke helper method.


    defineIteratorMethods(Gp);
    Gp[toStringTagSymbol] = "Generator"; // A Generator should always return itself as the iterator object when the
    // @@iterator function is called on it. Some browsers' implementations of the
    // iterator prototype chain incorrectly implement this, causing the Generator
    // object to not be returned from this call. This ensures that doesn't happen.
    // See https://github.com/facebook/regenerator/issues/274 for more details.

    Gp[iteratorSymbol] = function () {
      return this;
    };

    Gp.toString = function () {
      return "[object Generator]";
    };

    function pushTryEntry(locs) {
      var entry = {
        tryLoc: locs[0]
      };

      if (1 in locs) {
        entry.catchLoc = locs[1];
      }

      if (2 in locs) {
        entry.finallyLoc = locs[2];
        entry.afterLoc = locs[3];
      }

      this.tryEntries.push(entry);
    }

    function resetTryEntry(entry) {
      var record = entry.completion || {};
      record.type = "normal";
      delete record.arg;
      entry.completion = record;
    }

    function Context(tryLocsList) {
      // The root entry object (effectively a try statement without a catch
      // or a finally block) gives us a place to store values thrown from
      // locations where there is no enclosing try statement.
      this.tryEntries = [{
        tryLoc: "root"
      }];
      tryLocsList.forEach(pushTryEntry, this);
      this.reset(true);
    }

    exports.keys = function (object) {
      var keys = [];

      for (var key in object) {
        keys.push(key);
      }

      keys.reverse(); // Rather than returning an object with a next method, we keep
      // things simple and return the next function itself.

      return function next() {
        while (keys.length) {
          var key = keys.pop();

          if (key in object) {
            next.value = key;
            next.done = false;
            return next;
          }
        } // To avoid creating an additional object, we just hang the .value
        // and .done properties off the next function object itself. This
        // also ensures that the minifier will not anonymize the function.


        next.done = true;
        return next;
      };
    };

    function values(iterable) {
      if (iterable) {
        var iteratorMethod = iterable[iteratorSymbol];

        if (iteratorMethod) {
          return iteratorMethod.call(iterable);
        }

        if (typeof iterable.next === "function") {
          return iterable;
        }

        if (!isNaN(iterable.length)) {
          var i = -1,
              next = function next() {
            while (++i < iterable.length) {
              if (hasOwn.call(iterable, i)) {
                next.value = iterable[i];
                next.done = false;
                return next;
              }
            }

            next.value = undefined$1;
            next.done = true;
            return next;
          };

          return next.next = next;
        }
      } // Return an iterator with no values.


      return {
        next: doneResult
      };
    }

    exports.values = values;

    function doneResult() {
      return {
        value: undefined$1,
        done: true
      };
    }

    Context.prototype = {
      constructor: Context,
      reset: function (skipTempReset) {
        this.prev = 0;
        this.next = 0; // Resetting context._sent for legacy support of Babel's
        // function.sent implementation.

        this.sent = this._sent = undefined$1;
        this.done = false;
        this.delegate = null;
        this.method = "next";
        this.arg = undefined$1;
        this.tryEntries.forEach(resetTryEntry);

        if (!skipTempReset) {
          for (var name in this) {
            // Not sure about the optimal order of these conditions:
            if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
              this[name] = undefined$1;
            }
          }
        }
      },
      stop: function () {
        this.done = true;
        var rootEntry = this.tryEntries[0];
        var rootRecord = rootEntry.completion;

        if (rootRecord.type === "throw") {
          throw rootRecord.arg;
        }

        return this.rval;
      },
      dispatchException: function (exception) {
        if (this.done) {
          throw exception;
        }

        var context = this;

        function handle(loc, caught) {
          record.type = "throw";
          record.arg = exception;
          context.next = loc;

          if (caught) {
            // If the dispatched exception was caught by a catch block,
            // then let that catch block handle the exception normally.
            context.method = "next";
            context.arg = undefined$1;
          }

          return !!caught;
        }

        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          var record = entry.completion;

          if (entry.tryLoc === "root") {
            // Exception thrown outside of any try block that could handle
            // it, so set the completion value of the entire function to
            // throw the exception.
            return handle("end");
          }

          if (entry.tryLoc <= this.prev) {
            var hasCatch = hasOwn.call(entry, "catchLoc");
            var hasFinally = hasOwn.call(entry, "finallyLoc");

            if (hasCatch && hasFinally) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              } else if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
            } else if (hasCatch) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              }
            } else if (hasFinally) {
              if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
            } else {
              throw new Error("try statement without catch or finally");
            }
          }
        }
      },
      abrupt: function (type, arg) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
            var finallyEntry = entry;
            break;
          }
        }

        if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
          // Ignore the finally entry if control is not jumping to a
          // location outside the try/catch block.
          finallyEntry = null;
        }

        var record = finallyEntry ? finallyEntry.completion : {};
        record.type = type;
        record.arg = arg;

        if (finallyEntry) {
          this.method = "next";
          this.next = finallyEntry.finallyLoc;
          return ContinueSentinel;
        }

        return this.complete(record);
      },
      complete: function (record, afterLoc) {
        if (record.type === "throw") {
          throw record.arg;
        }

        if (record.type === "break" || record.type === "continue") {
          this.next = record.arg;
        } else if (record.type === "return") {
          this.rval = this.arg = record.arg;
          this.method = "return";
          this.next = "end";
        } else if (record.type === "normal" && afterLoc) {
          this.next = afterLoc;
        }

        return ContinueSentinel;
      },
      finish: function (finallyLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.finallyLoc === finallyLoc) {
            this.complete(entry.completion, entry.afterLoc);
            resetTryEntry(entry);
            return ContinueSentinel;
          }
        }
      },
      "catch": function (tryLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.tryLoc === tryLoc) {
            var record = entry.completion;

            if (record.type === "throw") {
              var thrown = record.arg;
              resetTryEntry(entry);
            }

            return thrown;
          }
        } // The context.catch method must only be called with a location
        // argument that corresponds to a known catch block.


        throw new Error("illegal catch attempt");
      },
      delegateYield: function (iterable, resultName, nextLoc) {
        this.delegate = {
          iterator: values(iterable),
          resultName: resultName,
          nextLoc: nextLoc
        };

        if (this.method === "next") {
          // Deliberately forget the last sent value so that we don't
          // accidentally pass it on to the delegate.
          this.arg = undefined$1;
        }

        return ContinueSentinel;
      }
    }; // Regardless of whether this script is executing as a CommonJS module
    // or not, return the runtime object so that we can declare the variable
    // regeneratorRuntime in the outer scope, which allows this module to be
    // injected easily by `bin/regenerator --include-runtime script.js`.

    return exports;
  }( // If this script is executing as a CommonJS module, use module.exports
  // as the regeneratorRuntime namespace. Otherwise create a new empty
  // object. Either way, the resulting object will be used to initialize
  // the regeneratorRuntime variable at the top of this file.
   module.exports );

  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    // This module should not be running in strict mode, so the above
    // assignment should always work unless something is misconfigured. Just
    // in case runtime.js accidentally runs in strict mode, we can escape
    // strict mode using a global Function call. This could conceivably fail
    // if a Content Security Policy forbids using Function, but in that case
    // the proper solution is to fix the accidental strict mode problem. If
    // you've misconfigured your bundler to force strict mode and applied a
    // CSP to forbid Function, and you're not willing to fix either of those
    // problems, please detail your unique predicament in a GitHub issue.
    Function("r", "regeneratorRuntime = r")(runtime);
  }
});

var Property = /*#__PURE__*/function () {
  function Property(document, name, value) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Property);

    this.document = document;
    this.name = name;
    this.value = value;
    this.isNormalizedColor = false;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Property, [{
    key: "hasValue",
    value: function hasValue() {
      var value = this.value;
      return value !== null && value !== '' && value !== 0 && typeof value !== 'undefined';
    }
  }, {
    key: "isString",
    value: function isString(regexp) {
      var value = this.value;
      var result = typeof value === 'string';

      if (!result || !regexp) {
        return result;
      }

      return regexp.test(value);
    }
  }, {
    key: "isUrlDefinition",
    value: function isUrlDefinition() {
      return this.isString(/^url\(/);
    }
  }, {
    key: "isPixels",
    value: function isPixels() {
      if (!this.hasValue()) {
        return false;
      }

      var asString = this.getString();

      switch (true) {
        case /px$/.test(asString):
        case /^[0-9]+$/.test(asString):
          return true;

        default:
          return false;
      }
    }
  }, {
    key: "setValue",
    value: function setValue(value) {
      this.value = value;
      return this;
    }
  }, {
    key: "getValue",
    value: function getValue(def) {
      if (typeof def === 'undefined' || this.hasValue()) {
        return this.value;
      }

      return def;
    }
  }, {
    key: "getNumber",
    value: function getNumber(def) {
      if (!this.hasValue()) {
        if (typeof def === 'undefined') {
          return 0;
        }

        return parseFloat(def);
      }

      var value = this.value;
      var n = parseFloat(value);

      if (this.isString(/%$/)) {
        n = n / 100.0;
      }

      return n;
    }
  }, {
    key: "getString",
    value: function getString(def) {
      if (typeof def === 'undefined' || this.hasValue()) {
        return typeof this.value === 'undefined' ? '' : String(this.value);
      }

      return String(def);
    }
  }, {
    key: "getColor",
    value: function getColor(def) {
      var color = this.getString(def);

      if (this.isNormalizedColor) {
        return color;
      }

      this.isNormalizedColor = true;
      color = normalizeColor(color);
      this.value = color;
      return color;
    }
  }, {
    key: "getDpi",
    value: function getDpi() {
      return 96.0; // TODO: compute?
    }
  }, {
    key: "getRem",
    value: function getRem() {
      return this.document.rootEmSize;
    }
  }, {
    key: "getEm",
    value: function getEm() {
      return this.document.emSize;
    }
  }, {
    key: "getUnits",
    value: function getUnits() {
      return this.getString().replace(/[0-9\.\-]/g, '');
    }
  }, {
    key: "getPixels",
    value: function getPixels(axisOrIsFontSize) {
      var processPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (!this.hasValue()) {
        return 0;
      }

      var _ref = typeof axisOrIsFontSize === 'boolean' ? [undefined, axisOrIsFontSize] : [axisOrIsFontSize],
          _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_ref, 2),
          axis = _ref2[0],
          isFontSize = _ref2[1];

      var viewPort = this.document.screen.viewPort;

      switch (true) {
        case this.isString(/vmin$/):
          return this.getNumber() / 100.0 * Math.min(viewPort.computeSize('x'), viewPort.computeSize('y'));

        case this.isString(/vmax$/):
          return this.getNumber() / 100.0 * Math.max(viewPort.computeSize('x'), viewPort.computeSize('y'));

        case this.isString(/vw$/):
          return this.getNumber() / 100.0 * viewPort.computeSize('x');

        case this.isString(/vh$/):
          return this.getNumber() / 100.0 * viewPort.computeSize('y');

        case this.isString(/rem$/):
          return this.getNumber() * this.getRem();

        case this.isString(/em$/):
          return this.getNumber() * this.getEm();

        case this.isString(/ex$/):
          return this.getNumber() * this.getEm() / 2.0;

        case this.isString(/px$/):
          return this.getNumber();

        case this.isString(/pt$/):
          return this.getNumber() * this.getDpi() * (1.0 / 72.0);

        case this.isString(/pc$/):
          return this.getNumber() * 15;

        case this.isString(/cm$/):
          return this.getNumber() * this.getDpi() / 2.54;

        case this.isString(/mm$/):
          return this.getNumber() * this.getDpi() / 25.4;

        case this.isString(/in$/):
          return this.getNumber() * this.getDpi();

        case this.isString(/%$/) && isFontSize:
          return this.getNumber() * this.getEm();

        case this.isString(/%$/):
          return this.getNumber() * viewPort.computeSize(axis);

        default:
          {
            var n = this.getNumber();

            if (processPercent && n < 1.0) {
              return n * viewPort.computeSize(axis);
            }

            return n;
          }
      }
    }
  }, {
    key: "getMilliseconds",
    value: function getMilliseconds() {
      if (!this.hasValue()) {
        return 0;
      }

      if (this.isString(/ms$/)) {
        return this.getNumber();
      }

      return this.getNumber() * 1000;
    }
  }, {
    key: "getRadians",
    value: function getRadians() {
      if (!this.hasValue()) {
        return 0;
      }

      switch (true) {
        case this.isString(/deg$/):
          return this.getNumber() * (Math.PI / 180.0);

        case this.isString(/grad$/):
          return this.getNumber() * (Math.PI / 200.0);

        case this.isString(/rad$/):
          return this.getNumber();

        default:
          return this.getNumber() * (Math.PI / 180.0);
      }
    }
  }, {
    key: "getDefinition",
    value: function getDefinition() {
      var asString = this.getString();
      var name = asString.match(/#([^\)'"]+)/);

      if (name) {
        name = name[1];
      }

      if (!name) {
        name = asString;
      }

      return this.document.definitions[name];
    }
  }, {
    key: "getFillStyleDefinition",
    value: function getFillStyleDefinition(element, opacity) {
      var def = this.getDefinition();

      if (!def) {
        return null;
      } // gradient


      if (typeof def.createGradient === 'function') {
        return def.createGradient(this.document.ctx, element, opacity);
      } // pattern


      if (typeof def.createPattern === 'function') {
        if (def.getHrefAttribute().hasValue()) {
          var patternTransform = def.getAttribute('patternTransform');
          def = def.getHrefAttribute().getDefinition();

          if (patternTransform.hasValue()) {
            def.getAttribute('patternTransform', true).setValue(patternTransform.value);
          }
        }

        return def.createPattern(this.document.ctx, element, opacity);
      }

      return null;
    }
  }, {
    key: "getTextBaseline",
    value: function getTextBaseline() {
      if (!this.hasValue()) {
        return null;
      }

      return Property.textBaselineMapping[this.getString()];
    }
  }, {
    key: "addOpacity",
    value: function addOpacity(opacity) {
      var value = this.getColor();
      var len = value.length;
      var commas = 0; // Simulate old RGBColor version, which can't parse rgba.

      for (var i = 0; i < len; i++) {
        if (value[i] === ',') {
          commas++;
        }

        if (commas === 3) {
          break;
        }
      }

      if (opacity.hasValue() && this.isString() && commas !== 3) {
        var color = new rgbcolor__WEBPACK_IMPORTED_MODULE_27___default.a(value);

        if (color.ok) {
          color.alpha = opacity.getNumber();
          value = color.toRGBA();
        }
      }

      return new Property(this.document, this.name, value);
    }
  }], [{
    key: "empty",
    value: function empty(document) {
      return new Property(document, 'EMPTY', '');
    }
  }]);

  return Property;
}();
Property.textBaselineMapping = {
  'baseline': 'alphabetic',
  'before-edge': 'top',
  'text-before-edge': 'top',
  'middle': 'middle',
  'central': 'middle',
  'after-edge': 'bottom',
  'text-after-edge': 'bottom',
  'ideographic': 'ideographic',
  'alphabetic': 'alphabetic',
  'hanging': 'hanging',
  'mathematical': 'alphabetic'
};

var ViewPort = /*#__PURE__*/function () {
  function ViewPort() {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, ViewPort);

    this.viewPorts = [];
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(ViewPort, [{
    key: "clear",
    value: function clear() {
      this.viewPorts = [];
    }
  }, {
    key: "setCurrent",
    value: function setCurrent(width, height) {
      this.viewPorts.push({
        width: width,
        height: height
      });
    }
  }, {
    key: "removeCurrent",
    value: function removeCurrent() {
      this.viewPorts.pop();
    }
  }, {
    key: "getCurrent",
    value: function getCurrent() {
      var viewPorts = this.viewPorts;
      return viewPorts[viewPorts.length - 1];
    }
  }, {
    key: "computeSize",
    value: function computeSize(d) {
      if (typeof d === 'number') {
        return d;
      }

      if (d === 'x') {
        return this.width;
      }

      if (d === 'y') {
        return this.height;
      }

      return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2);
    }
  }, {
    key: "width",
    get: function get() {
      return this.getCurrent().width;
    }
  }, {
    key: "height",
    get: function get() {
      return this.getCurrent().height;
    }
  }]);

  return ViewPort;
}();

var Point = /*#__PURE__*/function () {
  function Point(x, y) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Point);

    this.x = x;
    this.y = y;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Point, [{
    key: "angleTo",
    value: function angleTo(point) {
      return Math.atan2(point.y - this.y, point.x - this.x);
    }
  }, {
    key: "applyTransform",
    value: function applyTransform(transform) {
      var x = this.x,
          y = this.y;
      var xp = x * transform[0] + y * transform[2] + transform[4];
      var yp = x * transform[1] + y * transform[3] + transform[5];
      this.x = xp;
      this.y = yp;
    }
  }], [{
    key: "parse",
    value: function parse(point) {
      var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

      var _toNumbers = toNumbers(point),
          _toNumbers2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_toNumbers, 2),
          _toNumbers2$ = _toNumbers2[0],
          x = _toNumbers2$ === void 0 ? defaultValue : _toNumbers2$,
          _toNumbers2$2 = _toNumbers2[1],
          y = _toNumbers2$2 === void 0 ? defaultValue : _toNumbers2$2;

      return new Point(x, y);
    }
  }, {
    key: "parseScale",
    value: function parseScale(scale) {
      var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;

      var _toNumbers3 = toNumbers(scale),
          _toNumbers4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_toNumbers3, 2),
          _toNumbers4$ = _toNumbers4[0],
          x = _toNumbers4$ === void 0 ? defaultValue : _toNumbers4$,
          _toNumbers4$2 = _toNumbers4[1],
          y = _toNumbers4$2 === void 0 ? x : _toNumbers4$2;

      return new Point(x, y);
    }
  }, {
    key: "parsePath",
    value: function parsePath(path) {
      var points = toNumbers(path);
      var len = points.length;
      var pathPoints = [];

      for (var i = 0; i < len; i += 2) {
        pathPoints.push(new Point(points[i], points[i + 1]));
      }

      return pathPoints;
    }
  }]);

  return Point;
}();

var Mouse = /*#__PURE__*/function () {
  function Mouse(screen) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Mouse);

    this.screen = screen;
    this.working = false;
    this.events = [];
    this.eventElements = [];
    this.onClick = this.onClick.bind(this);
    this.onMouseMove = this.onMouseMove.bind(this);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Mouse, [{
    key: "isWorking",
    value: function isWorking() {
      return this.working;
    }
  }, {
    key: "start",
    value: function start() {
      if (this.working) {
        return;
      }

      var screen = this.screen,
          onClick = this.onClick,
          onMouseMove = this.onMouseMove;
      var canvas = screen.ctx.canvas;
      canvas.onclick = onClick;
      canvas.onmousemove = onMouseMove;
      this.working = true;
    }
  }, {
    key: "stop",
    value: function stop() {
      if (!this.working) {
        return;
      }

      var canvas = this.screen.ctx.canvas;
      this.working = false;
      canvas.onclick = null;
      canvas.onmousemove = null;
    }
  }, {
    key: "hasEvents",
    value: function hasEvents() {
      return this.working && this.events.length > 0;
    }
  }, {
    key: "runEvents",
    value: function runEvents() {
      if (!this.working) {
        return;
      }

      var document = this.screen,
          events = this.events,
          eventElements = this.eventElements;
      var style = document.ctx.canvas.style;

      if (style) {
        style.cursor = '';
      }

      events.forEach(function (_ref, i) {
        var run = _ref.run;
        var element = eventElements[i];

        while (element) {
          run(element);
          element = element.parent;
        }
      }); // done running, clear

      this.events = [];
      this.eventElements = [];
    }
  }, {
    key: "checkPath",
    value: function checkPath(element, ctx) {
      if (!this.working || !ctx) {
        return;
      }

      var events = this.events,
          eventElements = this.eventElements;
      events.forEach(function (_ref2, i) {
        var x = _ref2.x,
            y = _ref2.y;

        if (!eventElements[i] && ctx.isPointInPath && ctx.isPointInPath(x, y)) {
          eventElements[i] = element;
        }
      });
    }
  }, {
    key: "checkBoundingBox",
    value: function checkBoundingBox(element, boundingBox) {
      if (!this.working || !boundingBox) {
        return;
      }

      var events = this.events,
          eventElements = this.eventElements;
      events.forEach(function (_ref3, i) {
        var x = _ref3.x,
            y = _ref3.y;

        if (!eventElements[i] && boundingBox.isPointInBox(x, y)) {
          eventElements[i] = element;
        }
      });
    }
  }, {
    key: "mapXY",
    value: function mapXY(x, y) {
      var _this$screen = this.screen,
          window = _this$screen.window,
          ctx = _this$screen.ctx;
      var point = new Point(x, y);
      var element = ctx.canvas;

      while (element) {
        point.x -= element.offsetLeft;
        point.y -= element.offsetTop;
        element = element.offsetParent;
      }

      if (window.scrollX) {
        point.x += window.scrollX;
      }

      if (window.scrollY) {
        point.y += window.scrollY;
      }

      return point;
    }
  }, {
    key: "onClick",
    value: function onClick(evt) {
      var _this$mapXY = this.mapXY((evt || event).clientX, (evt || event).clientY),
          x = _this$mapXY.x,
          y = _this$mapXY.y;

      this.events.push({
        type: 'onclick',
        x: x,
        y: y,
        run: function run(event) {
          if (event.onClick) {
            event.onClick();
          }
        }
      });
    }
  }, {
    key: "onMouseMove",
    value: function onMouseMove(evt) {
      var _this$mapXY2 = this.mapXY((evt || event).clientX, (evt || event).clientY),
          x = _this$mapXY2.x,
          y = _this$mapXY2.y;

      this.events.push({
        type: 'onmousemove',
        x: x,
        y: y,
        run: function run(event) {
          if (event.onMouseMove) {
            event.onMouseMove();
          }
        }
      });
    }
  }]);

  return Mouse;
}();

var defaultWindow = typeof window !== 'undefined' ? window : null;
var defaultFetch = typeof fetch !== 'undefined' ? fetch.bind(void 0) // `fetch` depends on context: `someObject.fetch(...)` will throw error.
: null;

var Screen = /*#__PURE__*/function () {
  function Screen(ctx) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        _ref$fetch = _ref.fetch,
        fetch = _ref$fetch === void 0 ? defaultFetch : _ref$fetch,
        _ref$window = _ref.window,
        window = _ref$window === void 0 ? defaultWindow : _ref$window;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Screen);

    this.ctx = ctx;
    this.FRAMERATE = 30;
    this.MAX_VIRTUAL_PIXELS = 30000;
    this.CLIENT_WIDTH = 800;
    this.CLIENT_HEIGHT = 600;
    this.viewPort = new ViewPort();
    this.mouse = new Mouse(this);
    this.animations = [];
    this.waits = [];
    this.frameDuration = 0;
    this.isReadyLock = false;
    this.isFirstRender = true;
    this.intervalId = null;
    this.window = window;
    this.fetch = fetch;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Screen, [{
    key: "wait",
    value: function wait(checker) {
      this.waits.push(checker);
    }
  }, {
    key: "ready",
    value: function ready() {
      if (!this.readyPromise) {
        return Promise.resolve();
      }

      return this.readyPromise;
    }
  }, {
    key: "isReady",
    value: function isReady() {
      if (this.isReadyLock) {
        return true;
      }

      var isReadyLock = this.waits.every(function (_) {
        return _();
      });

      if (isReadyLock) {
        this.waits = [];

        if (this.resolveReady) {
          this.resolveReady();
        }
      }

      this.isReadyLock = isReadyLock;
      return isReadyLock;
    }
  }, {
    key: "setDefaults",
    value: function setDefaults(ctx) {
      // initial values and defaults
      ctx.strokeStyle = 'rgba(0,0,0,0)';
      ctx.lineCap = 'butt';
      ctx.lineJoin = 'miter';
      ctx.miterLimit = 4;
    }
  }, {
    key: "setViewBox",
    value: function setViewBox(_ref2) {
      var document = _ref2.document,
          ctx = _ref2.ctx,
          aspectRatio = _ref2.aspectRatio,
          width = _ref2.width,
          desiredWidth = _ref2.desiredWidth,
          height = _ref2.height,
          desiredHeight = _ref2.desiredHeight,
          _ref2$minX = _ref2.minX,
          minX = _ref2$minX === void 0 ? 0 : _ref2$minX,
          _ref2$minY = _ref2.minY,
          minY = _ref2$minY === void 0 ? 0 : _ref2$minY,
          refX = _ref2.refX,
          refY = _ref2.refY,
          _ref2$clip = _ref2.clip,
          clip = _ref2$clip === void 0 ? false : _ref2$clip,
          _ref2$clipX = _ref2.clipX,
          clipX = _ref2$clipX === void 0 ? 0 : _ref2$clipX,
          _ref2$clipY = _ref2.clipY,
          clipY = _ref2$clipY === void 0 ? 0 : _ref2$clipY;
      // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute
      var cleanAspectRatio = compressSpaces(aspectRatio).replace(/^defer\s/, ''); // ignore defer

      var _cleanAspectRatio$spl = cleanAspectRatio.split(' '),
          _cleanAspectRatio$spl2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_cleanAspectRatio$spl, 2),
          aspectRatioAlign = _cleanAspectRatio$spl2[0],
          aspectRatioMeetOrSlice = _cleanAspectRatio$spl2[1];

      var align = aspectRatioAlign || 'xMidYMid';
      var meetOrSlice = aspectRatioMeetOrSlice || 'meet'; // calculate scale

      var scaleX = width / desiredWidth;
      var scaleY = height / desiredHeight;
      var scaleMin = Math.min(scaleX, scaleY);
      var scaleMax = Math.max(scaleX, scaleY);
      var finalDesiredWidth = desiredWidth;
      var finalDesiredHeight = desiredHeight;

      if (meetOrSlice === 'meet') {
        finalDesiredWidth *= scaleMin;
        finalDesiredHeight *= scaleMin;
      }

      if (meetOrSlice === 'slice') {
        finalDesiredWidth *= scaleMax;
        finalDesiredHeight *= scaleMax;
      }

      var refXProp = new Property(document, 'refX', refX);
      var refYProp = new Property(document, 'refY', refY);
      var hasRefs = refXProp.hasValue() && refYProp.hasValue();

      if (hasRefs) {
        ctx.translate(-scaleMin * refXProp.getPixels('x'), -scaleMin * refYProp.getPixels('y'));
      }

      if (clip) {
        var scaledClipX = scaleMin * clipX;
        var scaledClipY = scaleMin * clipY;
        ctx.beginPath();
        ctx.moveTo(scaledClipX, scaledClipY);
        ctx.lineTo(width, scaledClipY);
        ctx.lineTo(width, height);
        ctx.lineTo(scaledClipX, height);
        ctx.closePath();
        ctx.clip();
      }

      if (!hasRefs) {
        var isMeetMinY = meetOrSlice === 'meet' && scaleMin === scaleY;
        var isSliceMaxY = meetOrSlice === 'slice' && scaleMax === scaleY;
        var isMeetMinX = meetOrSlice === 'meet' && scaleMin === scaleX;
        var isSliceMaxX = meetOrSlice === 'slice' && scaleMax === scaleX;

        if (/^xMid/.test(align) && (isMeetMinY || isSliceMaxY)) {
          ctx.translate(width / 2.0 - finalDesiredWidth / 2.0, 0);
        }

        if (/YMid$/.test(align) && (isMeetMinX || isSliceMaxX)) {
          ctx.translate(0, height / 2.0 - finalDesiredHeight / 2.0);
        }

        if (/^xMax/.test(align) && (isMeetMinY || isSliceMaxY)) {
          ctx.translate(width - finalDesiredWidth, 0);
        }

        if (/YMax$/.test(align) && (isMeetMinX || isSliceMaxX)) {
          ctx.translate(0, height - finalDesiredHeight);
        }
      } // scale


      switch (true) {
        case align === 'none':
          ctx.scale(scaleX, scaleY);
          break;

        case meetOrSlice === 'meet':
          ctx.scale(scaleMin, scaleMin);
          break;

        case meetOrSlice === 'slice':
          ctx.scale(scaleMax, scaleMax);
          break;
      } // translate


      ctx.translate(-minX, -minY);
    }
  }, {
    key: "start",
    value: function start(element) {
      var _this = this;

      var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
          _ref3$enableRedraw = _ref3.enableRedraw,
          enableRedraw = _ref3$enableRedraw === void 0 ? false : _ref3$enableRedraw,
          _ref3$ignoreMouse = _ref3.ignoreMouse,
          ignoreMouse = _ref3$ignoreMouse === void 0 ? false : _ref3$ignoreMouse,
          _ref3$ignoreAnimation = _ref3.ignoreAnimation,
          ignoreAnimation = _ref3$ignoreAnimation === void 0 ? false : _ref3$ignoreAnimation,
          _ref3$ignoreDimension = _ref3.ignoreDimensions,
          ignoreDimensions = _ref3$ignoreDimension === void 0 ? false : _ref3$ignoreDimension,
          _ref3$ignoreClear = _ref3.ignoreClear,
          ignoreClear = _ref3$ignoreClear === void 0 ? false : _ref3$ignoreClear,
          forceRedraw = _ref3.forceRedraw,
          scaleWidth = _ref3.scaleWidth,
          scaleHeight = _ref3.scaleHeight,
          offsetX = _ref3.offsetX,
          offsetY = _ref3.offsetY;

      var FRAMERATE = this.FRAMERATE,
          mouse = this.mouse;
      var frameDuration = 1000 / FRAMERATE;
      this.frameDuration = frameDuration;
      this.readyPromise = new Promise(function (resolve) {
        _this.resolveReady = resolve;
      });

      if (this.isReady()) {
        this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);
      }

      if (!enableRedraw) {
        return;
      }

      var now = Date.now();
      var then = now;
      var delta = 0;

      var tick = function tick() {
        now = Date.now();
        delta = now - then;

        if (delta >= frameDuration) {
          then = now - delta % frameDuration;

          if (_this.shouldUpdate(ignoreAnimation, forceRedraw)) {
            _this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);

            mouse.runEvents();
          }
        }

        _this.intervalId = raf__WEBPACK_IMPORTED_MODULE_25___default()(tick);
      };

      if (!ignoreMouse) {
        mouse.start();
      }

      this.intervalId = raf__WEBPACK_IMPORTED_MODULE_25___default()(tick);
    }
  }, {
    key: "stop",
    value: function stop() {
      if (this.intervalId) {
        raf__WEBPACK_IMPORTED_MODULE_25___default.a.cancel(this.intervalId);
        this.intervalId = null;
      }

      this.mouse.stop();
    }
  }, {
    key: "shouldUpdate",
    value: function shouldUpdate(ignoreAnimation, forceRedraw) {
      // need update from animations?
      if (!ignoreAnimation) {
        var frameDuration = this.frameDuration;
        var shouldUpdate = this.animations.reduce(function (shouldUpdate, animation) {
          return animation.update(frameDuration) || shouldUpdate;
        }, false);

        if (shouldUpdate) {
          return true;
        }
      } // need update from redraw?


      if (typeof forceRedraw === 'function' && forceRedraw()) {
        return true;
      }

      if (!this.isReadyLock && this.isReady()) {
        return true;
      } // need update from mouse events?


      if (this.mouse.hasEvents()) {
        return true;
      }

      return false;
    }
  }, {
    key: "render",
    value: function render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY) {
      var CLIENT_WIDTH = this.CLIENT_WIDTH,
          CLIENT_HEIGHT = this.CLIENT_HEIGHT,
          viewPort = this.viewPort,
          ctx = this.ctx,
          isFirstRender = this.isFirstRender;
      var canvas = ctx.canvas;
      viewPort.clear();

      if (canvas.width && canvas.height) {
        viewPort.setCurrent(canvas.width, canvas.height);
      } else {
        viewPort.setCurrent(CLIENT_WIDTH, CLIENT_HEIGHT);
      }

      var widthStyle = element.getStyle('width');
      var heightStyle = element.getStyle('height');

      if (!ignoreDimensions && (isFirstRender || typeof scaleWidth !== 'number' && typeof scaleHeight !== 'number')) {
        // set canvas size
        if (widthStyle.hasValue()) {
          canvas.width = widthStyle.getPixels('x');

          if (canvas.style) {
            canvas.style.width = "".concat(canvas.width, "px");
          }
        }

        if (heightStyle.hasValue()) {
          canvas.height = heightStyle.getPixels('y');

          if (canvas.style) {
            canvas.style.height = "".concat(canvas.height, "px");
          }
        }
      }

      var cWidth = canvas.clientWidth || canvas.width;
      var cHeight = canvas.clientHeight || canvas.height;

      if (ignoreDimensions && widthStyle.hasValue() && heightStyle.hasValue()) {
        cWidth = widthStyle.getPixels('x');
        cHeight = heightStyle.getPixels('y');
      }

      viewPort.setCurrent(cWidth, cHeight);

      if (typeof offsetX === 'number') {
        element.getAttribute('x', true).setValue(offsetX);
      }

      if (typeof offsetY === 'number') {
        element.getAttribute('y', true).setValue(offsetY);
      }

      if (typeof scaleWidth === 'number' || typeof scaleHeight === 'number') {
        var viewBox = toNumbers(element.getAttribute('viewBox').getString());
        var xRatio = 0;
        var yRatio = 0;

        if (typeof scaleWidth === 'number') {
          var _widthStyle = element.getStyle('width');

          if (_widthStyle.hasValue()) {
            xRatio = _widthStyle.getPixels('x') / scaleWidth;
          } else if (!isNaN(viewBox[2])) {
            xRatio = viewBox[2] / scaleWidth;
          }
        }

        if (typeof scaleHeight === 'number') {
          var _heightStyle = element.getStyle('height');

          if (_heightStyle.hasValue()) {
            yRatio = _heightStyle.getPixels('y') / scaleHeight;
          } else if (!isNaN(viewBox[3])) {
            yRatio = viewBox[3] / scaleHeight;
          }
        }

        if (!xRatio) {
          xRatio = yRatio;
        }

        if (!yRatio) {
          yRatio = xRatio;
        }

        element.getAttribute('width', true).setValue(scaleWidth);
        element.getAttribute('height', true).setValue(scaleHeight);
        var transformStyle = element.getStyle('transform', true, true);
        transformStyle.setValue("".concat(transformStyle.getString(), " scale(").concat(1.0 / xRatio, ", ").concat(1.0 / yRatio, ")"));
      } // clear and render


      if (!ignoreClear) {
        ctx.clearRect(0, 0, cWidth, cHeight);
      }

      element.render(ctx);

      if (isFirstRender) {
        this.isFirstRender = false;
      }
    }
  }]);

  return Screen;
}();
Screen.defaultWindow = defaultWindow;
Screen.defaultFetch = defaultFetch;

var defaultFetch$1 = Screen.defaultFetch;
var DefaultDOMParser = typeof DOMParser !== 'undefined' ? DOMParser : null;

var Parser = /*#__PURE__*/function () {
  function Parser() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref$fetch = _ref.fetch,
        fetch = _ref$fetch === void 0 ? defaultFetch$1 : _ref$fetch,
        _ref$DOMParser = _ref.DOMParser,
        DOMParser = _ref$DOMParser === void 0 ? DefaultDOMParser : _ref$DOMParser;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Parser);

    this.fetch = fetch;
    this.DOMParser = DOMParser;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Parser, [{
    key: "parse",
    value: function () {
      var _parse = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee(resource) {
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!/^</.test(resource)) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", this.parseFromString(resource));

              case 2:
                return _context.abrupt("return", this.load(resource));

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function parse(_x) {
        return _parse.apply(this, arguments);
      }

      return parse;
    }()
  }, {
    key: "parseFromString",
    value: function parseFromString(xml) {
      var parser = new this.DOMParser();

      try {
        return this.checkDocument(parser.parseFromString(xml, 'image/svg+xml'));
      } catch (err) {
        return this.checkDocument(parser.parseFromString(xml, 'text/xml'));
      }
    }
  }, {
    key: "checkDocument",
    value: function checkDocument(document) {
      var parserError = document.getElementsByTagName('parsererror')[0];

      if (parserError) {
        throw new Error(parserError.textContent);
      }

      return document;
    }
  }, {
    key: "load",
    value: function () {
      var _load = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee2(url) {
        var response, xml;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this.fetch(url);

              case 2:
                response = _context2.sent;
                _context2.next = 5;
                return response.text();

              case 5:
                xml = _context2.sent;
                return _context2.abrupt("return", this.parseFromString(xml));

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function load(_x2) {
        return _load.apply(this, arguments);
      }

      return load;
    }()
  }]);

  return Parser;
}();

var Translate = /*#__PURE__*/function () {
  function Translate(_, point) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Translate);

    this.type = 'translate';
    this.point = null;
    this.point = Point.parse(point);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Translate, [{
    key: "apply",
    value: function apply(ctx) {
      var _this$point = this.point,
          x = _this$point.x,
          y = _this$point.y;
      ctx.translate(x || 0.0, y || 0.0);
    }
  }, {
    key: "unapply",
    value: function unapply(ctx) {
      var _this$point2 = this.point,
          x = _this$point2.x,
          y = _this$point2.y;
      ctx.translate(-1.0 * x || 0.0, -1.0 * y || 0.0);
    }
  }, {
    key: "applyToPoint",
    value: function applyToPoint(point) {
      var _this$point3 = this.point,
          x = _this$point3.x,
          y = _this$point3.y;
      point.applyTransform([1, 0, 0, 1, x || 0.0, y || 0.0]);
    }
  }]);

  return Translate;
}();

var Rotate = /*#__PURE__*/function () {
  function Rotate(document, rotate) {
    var transformOrigin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Rotate);

    this.type = 'rotate';
    this.angle = null;
    this.cx = 0;
    this.cy = 0;
    var numbers = toNumbers(rotate);
    this.angle = new Property(document, 'angle', numbers[0]);
    this.cx = (numbers[1] || 0) + (transformOrigin[0] || 0);
    this.cy = (numbers[2] || 0) + (transformOrigin[1] || 0);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Rotate, [{
    key: "apply",
    value: function apply(ctx) {
      var cx = this.cx,
          cy = this.cy,
          angle = this.angle;
      ctx.translate(cx, cy);
      ctx.rotate(angle.getRadians());
      ctx.translate(-cx, -cy);
    }
  }, {
    key: "unapply",
    value: function unapply(ctx) {
      var cx = this.cx,
          cy = this.cy,
          angle = this.angle;
      ctx.translate(cx, cy);
      ctx.rotate(-1.0 * angle.getRadians());
      ctx.translate(-cx, -cy);
    }
  }, {
    key: "applyToPoint",
    value: function applyToPoint(point) {
      var cx = this.cx,
          cy = this.cy,
          angle = this.angle;
      var rad = angle.getRadians();
      point.applyTransform([1, 0, 0, 1, cx || 0.0, cy || 0.0 // this.p.y
      ]);
      point.applyTransform([Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), 0, 0]);
      point.applyTransform([1, 0, 0, 1, -cx || 0.0, -cy || 0.0 // -this.p.y
      ]);
    }
  }]);

  return Rotate;
}();

var Scale = /*#__PURE__*/function () {
  function Scale(_, scale) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Scale);

    this.type = 'scale';
    this.scale = null;
    var scaleSize = Point.parseScale(scale); // Workaround for node-canvas

    if (scaleSize.x === 0 || scaleSize.y === 0) {
      scaleSize.x = PSEUDO_ZERO;
      scaleSize.y = PSEUDO_ZERO;
    }

    this.scale = scaleSize;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Scale, [{
    key: "apply",
    value: function apply(ctx) {
      var _this$scale = this.scale,
          x = _this$scale.x,
          y = _this$scale.y;
      ctx.scale(x, y || x);
    }
  }, {
    key: "unapply",
    value: function unapply(ctx) {
      var _this$scale2 = this.scale,
          x = _this$scale2.x,
          y = _this$scale2.y;
      ctx.scale(1.0 / x, 1.0 / y || x);
    }
  }, {
    key: "applyToPoint",
    value: function applyToPoint(point) {
      var _this$scale3 = this.scale,
          x = _this$scale3.x,
          y = _this$scale3.y;
      point.applyTransform([x || 0.0, 0, 0, y || 0.0, 0, 0]);
    }
  }]);

  return Scale;
}();

var Matrix = /*#__PURE__*/function () {
  function Matrix(_, matrix) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Matrix);

    this.type = 'matrix';
    this.matrix = [];
    this.matrix = toNumbers(matrix);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Matrix, [{
    key: "apply",
    value: function apply(ctx) {
      var matrix = this.matrix;
      ctx.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
    }
  }, {
    key: "unapply",
    value: function unapply(ctx) {
      var matrix = this.matrix;
      var a = matrix[0];
      var b = matrix[2];
      var c = matrix[4];
      var d = matrix[1];
      var e = matrix[3];
      var f = matrix[5];
      var g = 0.0;
      var h = 0.0;
      var i = 1.0;
      var det = 1 / (a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g));
      ctx.transform(det * (e * i - f * h), det * (f * g - d * i), det * (c * h - b * i), det * (a * i - c * g), det * (b * f - c * e), det * (c * d - a * f));
    }
  }, {
    key: "applyToPoint",
    value: function applyToPoint(point) {
      point.applyTransform(this.matrix);
    }
  }]);

  return Matrix;
}();

function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var Skew = /*#__PURE__*/function (_Matrix) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(Skew, _Matrix);

  var _super = _createSuper(Skew);

  function Skew(document, skew) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Skew);

    _this = _super.call(this, document, skew);
    _this.type = 'skew';
    _this.angle = null;
    _this.angle = new Property(document, 'angle', skew);
    return _this;
  }

  return Skew;
}(Matrix);

function _createSuper$1(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$1()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var SkewX = /*#__PURE__*/function (_Skew) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(SkewX, _Skew);

  var _super = _createSuper$1(SkewX);

  function SkewX(document, skew) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, SkewX);

    _this = _super.call(this, document, skew);
    _this.type = 'skewX';
    _this.matrix = [1, 0, Math.tan(_this.angle.getRadians()), 1, 0, 0];
    return _this;
  }

  return SkewX;
}(Skew);

function _createSuper$2(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$2()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var SkewY = /*#__PURE__*/function (_Skew) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(SkewY, _Skew);

  var _super = _createSuper$2(SkewY);

  function SkewY(document, skew) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, SkewY);

    _this = _super.call(this, document, skew);
    _this.type = 'skewY';
    _this.matrix = [1, Math.tan(_this.angle.getRadians()), 0, 1, 0, 0];
    return _this;
  }

  return SkewY;
}(Skew);

function parseTransforms(transform) {
  return compressSpaces(transform).trim().replace(/\)([a-zA-Z])/g, ') $1').replace(/\)(\s?,\s?)/g, ') ').split(/\s(?=[a-z])/);
}

function parseTransform(transform) {
  var _transform$split = transform.split('('),
      _transform$split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_transform$split, 2),
      type = _transform$split2[0],
      value = _transform$split2[1];

  return [type.trim(), value.trim().replace(')', '')];
}

var Transform = /*#__PURE__*/function () {
  function Transform(document, transform, transformOrigin) {
    var _this = this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Transform);

    this.document = document;
    this.transforms = [];
    var data = parseTransforms(transform);
    var originCoords = transformOrigin ? toNumbers(transformOrigin) : [];
    data.forEach(function (transform) {
      if (transform === 'none') {
        return;
      }

      var _parseTransform = parseTransform(transform),
          _parseTransform2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_parseTransform, 2),
          type = _parseTransform2[0],
          value = _parseTransform2[1];

      var TransformType = Transform.transformTypes[type];

      if (typeof TransformType !== 'undefined') {
        _this.transforms.push(new TransformType(_this.document, value, originCoords));
      }
    });
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Transform, [{
    key: "apply",
    value: function apply(ctx) {
      var transforms = this.transforms;
      var len = transforms.length;

      for (var i = 0; i < len; i++) {
        transforms[i].apply(ctx);
      }
    }
  }, {
    key: "unapply",
    value: function unapply(ctx) {
      var transforms = this.transforms;
      var len = transforms.length;

      for (var i = len - 1; i >= 0; i--) {
        transforms[i].unapply(ctx);
      }
    } // TODO: applyToPoint unused ... remove?

  }, {
    key: "applyToPoint",
    value: function applyToPoint(point) {
      var transforms = this.transforms;
      var len = transforms.length;

      for (var i = 0; i < len; i++) {
        transforms[i].applyToPoint(point);
      }
    }
  }], [{
    key: "fromElement",
    value: function fromElement(document, element) {
      var transformStyle = element.getStyle('transform', false, true);
      var transformOriginStyle = element.getStyle('transform-origin', false, true);

      if (transformStyle.hasValue()) {
        return new Transform(document, transformStyle.getString(), transformOriginStyle.getString());
      }

      return null;
    }
  }]);

  return Transform;
}();
Transform.transformTypes = {
  translate: Translate,
  rotate: Rotate,
  scale: Scale,
  matrix: Matrix,
  skewX: SkewX,
  skewY: SkewY
};

var Element = /*#__PURE__*/function () {
  function Element(document, node) {
    var _this = this;

    var captureTextNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Element);

    this.document = document;
    this.node = node;
    this.captureTextNodes = captureTextNodes;
    this.attributes = {};
    this.styles = {};
    this.stylesSpecificity = {};
    this.animationFrozen = false;
    this.animationFrozenValue = '';
    this.parent = null;
    this.children = [];

    if (!node || node.nodeType !== 1) {
      // ELEMENT_NODE
      return;
    } // add attributes


    Array.from(node.attributes).forEach(function (attribute) {
      var nodeName = normalizeAttributeName(attribute.nodeName);
      _this.attributes[nodeName] = new Property(document, nodeName, attribute.value);
    });
    this.addStylesFromStyleDefinition(); // add inline styles

    if (this.getAttribute('style').hasValue()) {
      var styles = this.getAttribute('style').getString().split(';').map(function (_) {
        return _.trim();
      });
      styles.forEach(function (style) {
        if (!style) {
          return;
        }

        var _style$split$map = style.split(':').map(function (_) {
          return _.trim();
        }),
            _style$split$map2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_style$split$map, 2),
            name = _style$split$map2[0],
            value = _style$split$map2[1];

        _this.styles[name] = new Property(document, name, value);
      });
    }

    var definitions = document.definitions;
    var id = this.getAttribute('id'); // add id

    if (id.hasValue()) {
      if (!definitions[id.getValue()]) {
        definitions[id.getValue()] = this;
      }
    }

    Array.from(node.childNodes).forEach(function (childNode) {
      if (childNode.nodeType === 1) {
        _this.addChild(childNode); // ELEMENT_NODE

      } else if (captureTextNodes && (childNode.nodeType === 3 || childNode.nodeType === 4)) {
        var textNode = document.createTextNode(childNode);

        if (textNode.getText().length > 0) {
          _this.addChild(textNode); // TEXT_NODE

        }
      }
    });
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Element, [{
    key: "getAttribute",
    value: function getAttribute(name) {
      var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var attr = this.attributes[name];

      if (!attr && createIfNotExists) {
        var _attr = new Property(this.document, name, '');

        this.attributes[name] = _attr;
        return _attr;
      }

      return attr || Property.empty(this.document);
    }
  }, {
    key: "getHrefAttribute",
    value: function getHrefAttribute() {
      for (var key in this.attributes) {
        if (key === 'href' || /:href$/.test(key)) {
          return this.attributes[key];
        }
      }

      return Property.empty(this.document);
    }
  }, {
    key: "getStyle",
    value: function getStyle(name) {
      var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var skipAncestors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var style = this.styles[name];

      if (style) {
        return style;
      }

      var attr = this.getAttribute(name);

      if (attr && attr.hasValue()) {
        this.styles[name] = attr; // move up to me to cache

        return attr;
      }

      if (!skipAncestors) {
        var parent = this.parent;

        if (parent) {
          var parentStyle = parent.getStyle(name);

          if (parentStyle && parentStyle.hasValue()) {
            return parentStyle;
          }
        }
      }

      if (createIfNotExists) {
        var _style = new Property(this.document, name, '');

        this.styles[name] = _style;
        return _style;
      }

      return style || Property.empty(this.document);
    }
  }, {
    key: "render",
    value: function render(ctx) {
      // don't render display=none
      // don't render visibility=hidden
      if (this.getStyle('display').getString() === 'none' || this.getStyle('visibility').getString() === 'hidden') {
        return;
      }

      ctx.save();

      if (this.getStyle('mask').hasValue()) {
        // mask
        var mask = this.getStyle('mask').getDefinition();

        if (mask) {
          this.applyEffects(ctx);
          mask.apply(ctx, this);
        }
      } else if (this.getStyle('filter').getValue('none') !== 'none') {
        // filter
        var filter = this.getStyle('filter').getDefinition();

        if (filter) {
          this.applyEffects(ctx);
          filter.apply(ctx, this);
        }
      } else {
        this.setContext(ctx);
        this.renderChildren(ctx);
        this.clearContext(ctx);
      }

      ctx.restore();
    }
  }, {
    key: "setContext",
    value: function setContext(_) {}
  }, {
    key: "applyEffects",
    value: function applyEffects(ctx) {
      // transform
      var transform = Transform.fromElement(this.document, this);

      if (transform) {
        transform.apply(ctx);
      } // clip


      var clipPathStyleProp = this.getStyle('clip-path', false, true);

      if (clipPathStyleProp.hasValue()) {
        var clip = clipPathStyleProp.getDefinition();

        if (clip) {
          clip.apply(ctx);
        }
      }
    }
  }, {
    key: "clearContext",
    value: function clearContext(_) {}
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      this.children.forEach(function (child) {
        child.render(ctx);
      });
    }
  }, {
    key: "addChild",
    value: function addChild(childNode) {
      var child = childNode instanceof Element ? childNode : this.document.createElement(childNode);
      child.parent = this;

      if (!Element.ignoreChildTypes.includes(child.type)) {
        this.children.push(child);
      }
    }
  }, {
    key: "matchesSelector",
    value: function matchesSelector(selector) {
      var node = this.node;

      if (typeof node.matches === 'function') {
        return node.matches(selector);
      }

      var styleClasses = node.getAttribute('class');

      if (!styleClasses || styleClasses === '') {
        return false;
      }

      return styleClasses.split(' ').some(function (styleClass) {
        if (".".concat(styleClass) === selector) {
          return true;
        }
      });
    }
  }, {
    key: "addStylesFromStyleDefinition",
    value: function addStylesFromStyleDefinition() {
      var _this$document = this.document,
          styles = _this$document.styles,
          stylesSpecificity = _this$document.stylesSpecificity;

      for (var selector in styles) {
        if (selector[0] !== '@' && this.matchesSelector(selector)) {
          var style = styles[selector];
          var specificity = stylesSpecificity[selector];

          if (style) {
            for (var name in style) {
              var existingSpecificity = this.stylesSpecificity[name];

              if (typeof existingSpecificity === 'undefined') {
                existingSpecificity = '000';
              }

              if (specificity >= existingSpecificity) {
                this.styles[name] = style[name];
                this.stylesSpecificity[name] = specificity;
              }
            }
          }
        }
      }
    }
  }, {
    key: "removeStyles",
    value: function removeStyles(element, ignoreStyles) {
      var toRestore = ignoreStyles.reduce(function (toRestore, name) {
        var styleProp = element.getStyle(name);

        if (!styleProp.hasValue()) {
          return toRestore;
        }

        var value = styleProp.getString();
        styleProp.setValue('');
        return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_39___default()(toRestore), [[name, value]]);
      }, []);
      return toRestore;
    }
  }, {
    key: "restoreStyles",
    value: function restoreStyles(element, styles) {
      styles.forEach(function (_ref) {
        var _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_ref, 2),
            name = _ref2[0],
            value = _ref2[1];

        element.getStyle(name, true).setValue(value);
      });
    }
  }]);

  return Element;
}();
Element.ignoreChildTypes = ['title'];

function _createSuper$3(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$3()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var UnknownElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(UnknownElement, _Element);

  var _super = _createSuper$3(UnknownElement);

  function UnknownElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, UnknownElement);

    _this = _super.call(this, document, node, captureTextNodes);

    return _this;
  }

  return UnknownElement;
}(Element);

function wrapFontFamily(fontFamily) {
  var trimmed = fontFamily.trim();
  return /^('|")/.test(trimmed) ? trimmed : "\"".concat(trimmed, "\"");
}

function prepareFontFamily(fontFamily) {
  return typeof process === 'undefined' ? fontFamily : fontFamily.trim().split(',').map(wrapFontFamily).join(',');
}
/**
 * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style
 */


function prepareFontStyle(fontStyle) {
  if (!fontStyle) {
    return '';
  }

  var targetFontStyle = fontStyle.trim().toLowerCase();

  switch (targetFontStyle) {
    case 'normal':
    case 'italic':
    case 'oblique':
    case 'inherit':
    case 'initial':
    case 'unset':
      return targetFontStyle;

    default:
      if (/^oblique\s+(-|)\d+deg$/.test(targetFontStyle)) {
        return targetFontStyle;
      }

      return '';
  }
}
/**
 * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight
 */


function prepareFontWeight(fontWeight) {
  if (!fontWeight) {
    return '';
  }

  var targetFontWeight = fontWeight.trim().toLowerCase();

  switch (targetFontWeight) {
    case 'normal':
    case 'bold':
    case 'lighter':
    case 'bolder':
    case 'inherit':
    case 'initial':
    case 'unset':
      return targetFontWeight;

    default:
      if (/^[\d.]+$/.test(targetFontWeight)) {
        return targetFontWeight;
      }

      return '';
  }
}

var Font = /*#__PURE__*/function () {
  function Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Font);

    var inheritFont = inherit ? typeof inherit === 'string' ? Font.parse(inherit) : inherit : {};
    this.fontFamily = fontFamily || inheritFont.fontFamily;
    this.fontSize = fontSize || inheritFont.fontSize;
    this.fontStyle = fontStyle || inheritFont.fontStyle;
    this.fontWeight = fontWeight || inheritFont.fontWeight;
    this.fontVariant = fontVariant || inheritFont.fontVariant;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Font, [{
    key: "toString",
    value: function toString() {
      return [prepareFontStyle(this.fontStyle), this.fontVariant, prepareFontWeight(this.fontWeight), this.fontSize, // Wrap fontFamily only on nodejs and only for canvas.ctx
      prepareFontFamily(this.fontFamily)].join(' ').trim();
    }
  }], [{
    key: "parse",
    value: function parse() {
      var font = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
      var inherit = arguments.length > 1 ? arguments[1] : undefined;
      var fontStyle = '';
      var fontVariant = '';
      var fontWeight = '';
      var fontSize = '';
      var fontFamily = '';
      var parts = compressSpaces(font).trim().split(' ');
      var set = {
        fontSize: false,
        fontStyle: false,
        fontWeight: false,
        fontVariant: false
      };
      parts.forEach(function (part) {
        switch (true) {
          case !set.fontStyle && Font.styles.includes(part):
            if (part !== 'inherit') {
              fontStyle = part;
            }

            set.fontStyle = true;
            break;

          case !set.fontVariant && Font.variants.includes(part):
            if (part !== 'inherit') {
              fontVariant = part;
            }

            set.fontStyle = true;
            set.fontVariant = true;
            break;

          case !set.fontWeight && Font.weights.includes(part):
            if (part !== 'inherit') {
              fontWeight = part;
            }

            set.fontStyle = true;
            set.fontVariant = true;
            set.fontWeight = true;
            break;

          case !set.fontSize:
            if (part !== 'inherit') {
              var _part$split = part.split('/');

              var _part$split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_part$split, 1);

              fontSize = _part$split2[0];
            }

            set.fontStyle = true;
            set.fontVariant = true;
            set.fontWeight = true;
            set.fontSize = true;
            break;

          default:
            if (part !== 'inherit') {
              fontFamily += part;
            }

        }
      });
      return new Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit);
    }
  }]);

  return Font;
}();
Font.styles = 'normal|italic|oblique|inherit';
Font.variants = 'normal|small-caps|inherit';
Font.weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit';

var BoundingBox = /*#__PURE__*/function () {
  function BoundingBox() {
    var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.NaN;
    var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.NaN;
    var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.NaN;
    var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Number.NaN;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, BoundingBox);

    this.x1 = x1;
    this.y1 = y1;
    this.x2 = x2;
    this.y2 = y2;
    this.addPoint(x1, y1);
    this.addPoint(x2, y2);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(BoundingBox, [{
    key: "addPoint",
    value: function addPoint(x, y) {
      if (typeof x !== 'undefined') {
        if (isNaN(this.x1) || isNaN(this.x2)) {
          this.x1 = x;
          this.x2 = x;
        }

        if (x < this.x1) {
          this.x1 = x;
        }

        if (x > this.x2) {
          this.x2 = x;
        }
      }

      if (typeof y !== 'undefined') {
        if (isNaN(this.y1) || isNaN(this.y2)) {
          this.y1 = y;
          this.y2 = y;
        }

        if (y < this.y1) {
          this.y1 = y;
        }

        if (y > this.y2) {
          this.y2 = y;
        }
      }
    }
  }, {
    key: "addX",
    value: function addX(x) {
      this.addPoint(x, null);
    }
  }, {
    key: "addY",
    value: function addY(y) {
      this.addPoint(null, y);
    }
  }, {
    key: "addBoundingBox",
    value: function addBoundingBox(boundingBox) {
      if (!boundingBox) {
        return;
      }

      var x1 = boundingBox.x1,
          y1 = boundingBox.y1,
          x2 = boundingBox.x2,
          y2 = boundingBox.y2;
      this.addPoint(x1, y1);
      this.addPoint(x2, y2);
    }
  }, {
    key: "sumCubic",
    value: function sumCubic(t, p0, p1, p2, p3) {
      return Math.pow(1 - t, 3) * p0 + 3 * Math.pow(1 - t, 2) * t * p1 + 3 * (1 - t) * Math.pow(t, 2) * p2 + Math.pow(t, 3) * p3;
    }
  }, {
    key: "bezierCurveAdd",
    value: function bezierCurveAdd(forX, p0, p1, p2, p3) {
      var b = 6 * p0 - 12 * p1 + 6 * p2;
      var a = -3 * p0 + 9 * p1 - 9 * p2 + 3 * p3;
      var c = 3 * p1 - 3 * p0;

      if (a === 0) {
        if (b === 0) {
          return;
        }

        var t = -c / b;

        if (0 < t && t < 1) {
          if (forX) {
            this.addX(this.sumCubic(t, p0, p1, p2, p3));
          } else {
            this.addY(this.sumCubic(t, p0, p1, p2, p3));
          }
        }

        return;
      }

      var b2ac = Math.pow(b, 2) - 4 * c * a;

      if (b2ac < 0) {
        return;
      }

      var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);

      if (0 < t1 && t1 < 1) {
        if (forX) {
          this.addX(this.sumCubic(t1, p0, p1, p2, p3));
        } else {
          this.addY(this.sumCubic(t1, p0, p1, p2, p3));
        }
      }

      var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);

      if (0 < t2 && t2 < 1) {
        if (forX) {
          this.addX(this.sumCubic(t2, p0, p1, p2, p3));
        } else {
          this.addY(this.sumCubic(t2, p0, p1, p2, p3));
        }
      }
    } // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html

  }, {
    key: "addBezierCurve",
    value: function addBezierCurve(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {
      this.addPoint(p0x, p0y);
      this.addPoint(p3x, p3y);
      this.bezierCurveAdd(true, p0x, p1x, p2x, p3x);
      this.bezierCurveAdd(false, p0y, p1y, p2y, p3y);
    }
  }, {
    key: "addQuadraticCurve",
    value: function addQuadraticCurve(p0x, p0y, p1x, p1y, p2x, p2y) {
      var cp1x = p0x + 2 / 3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)

      var cp1y = p0y + 2 / 3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)

      var cp2x = cp1x + 1 / 3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)

      var cp2y = cp1y + 1 / 3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)

      this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y);
    }
  }, {
    key: "isPointInBox",
    value: function isPointInBox(x, y) {
      var x1 = this.x1,
          y1 = this.y1,
          x2 = this.x2,
          y2 = this.y2;
      return x1 <= x && x <= x2 && y1 <= y && y <= y2;
    }
  }, {
    key: "x",
    get: function get() {
      return this.x1;
    }
  }, {
    key: "y",
    get: function get() {
      return this.y1;
    }
  }, {
    key: "width",
    get: function get() {
      return this.x2 - this.x1;
    }
  }, {
    key: "height",
    get: function get() {
      return this.y2 - this.y1;
    }
  }]);

  return BoundingBox;
}();

function _createSuper$4(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$4()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$4() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var RenderedElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(RenderedElement, _Element);

  var _super = _createSuper$4(RenderedElement);

  function RenderedElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, RenderedElement);

    _this = _super.apply(this, arguments);
    _this.modifiedEmSizeStack = false;
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(RenderedElement, [{
    key: "calculateOpacity",
    value: function calculateOpacity() {
      var opacity = 1.0; // tslint:disable-next-line: no-this-assignment

      var element = this;

      while (element) {
        var opacityStyle = element.getStyle('opacity', false, true); // no ancestors on style call

        if (opacityStyle.hasValue()) {
          opacity *= opacityStyle.getNumber();
        }

        element = element.parent;
      }

      return opacity;
    }
  }, {
    key: "setContext",
    value: function setContext(ctx) {
      var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (!fromMeasure) {
        // causes stack overflow when measuring text with gradients
        // fill
        var fillStyleProp = this.getStyle('fill');
        var fillOpacityStyleProp = this.getStyle('fill-opacity');
        var strokeStyleProp = this.getStyle('stroke');
        var strokeOpacityProp = this.getStyle('stroke-opacity');

        if (fillStyleProp.isUrlDefinition()) {
          var fillStyle = fillStyleProp.getFillStyleDefinition(this, fillOpacityStyleProp);

          if (fillStyle) {
            ctx.fillStyle = fillStyle;
          }
        } else if (fillStyleProp.hasValue()) {
          if (fillStyleProp.getString() === 'currentColor') {
            fillStyleProp.setValue(this.getStyle('color').getColor());
          }

          var _fillStyle = fillStyleProp.getColor();

          if (_fillStyle !== 'inherit') {
            ctx.fillStyle = _fillStyle === 'none' ? 'rgba(0,0,0,0)' : _fillStyle;
          }
        }

        if (fillOpacityStyleProp.hasValue()) {
          var _fillStyle2 = new Property(this.document, 'fill', ctx.fillStyle).addOpacity(fillOpacityStyleProp).getColor();

          ctx.fillStyle = _fillStyle2;
        } // stroke


        if (strokeStyleProp.isUrlDefinition()) {
          var strokeStyle = strokeStyleProp.getFillStyleDefinition(this, strokeOpacityProp);

          if (strokeStyle) {
            ctx.strokeStyle = strokeStyle;
          }
        } else if (strokeStyleProp.hasValue()) {
          if (strokeStyleProp.getString() === 'currentColor') {
            strokeStyleProp.setValue(this.getStyle('color').getColor());
          }

          var _strokeStyle = strokeStyleProp.getString();

          if (_strokeStyle !== 'inherit') {
            ctx.strokeStyle = _strokeStyle === 'none' ? 'rgba(0,0,0,0)' : _strokeStyle;
          }
        }

        if (strokeOpacityProp.hasValue()) {
          var _strokeStyle2 = new Property(this.document, 'stroke', ctx.strokeStyle).addOpacity(strokeOpacityProp).getString();

          ctx.strokeStyle = _strokeStyle2;
        }

        var strokeWidthStyleProp = this.getStyle('stroke-width');

        if (strokeWidthStyleProp.hasValue()) {
          var newLineWidth = strokeWidthStyleProp.getPixels();
          ctx.lineWidth = !newLineWidth ? PSEUDO_ZERO // browsers don't respect 0 (or node-canvas? :-)
          : newLineWidth;
        }

        var strokeLinecapStyleProp = this.getStyle('stroke-linecap');
        var strokeLinejoinStyleProp = this.getStyle('stroke-linejoin');
        var strokeMiterlimitProp = this.getStyle('stroke-miterlimit');
        var pointOrderStyleProp = this.getStyle('paint-order');
        var strokeDasharrayStyleProp = this.getStyle('stroke-dasharray');
        var strokeDashoffsetProp = this.getStyle('stroke-dashoffset');

        if (strokeLinecapStyleProp.hasValue()) {
          ctx.lineCap = strokeLinecapStyleProp.getString();
        }

        if (strokeLinejoinStyleProp.hasValue()) {
          ctx.lineJoin = strokeLinejoinStyleProp.getString();
        }

        if (strokeMiterlimitProp.hasValue()) {
          ctx.miterLimit = strokeMiterlimitProp.getNumber();
        }

        if (pointOrderStyleProp.hasValue()) {
          // ?
          ctx.paintOrder = pointOrderStyleProp.getValue();
        }

        if (strokeDasharrayStyleProp.hasValue() && strokeDasharrayStyleProp.getString() !== 'none') {
          var gaps = toNumbers(strokeDasharrayStyleProp.getString());

          if (typeof ctx.setLineDash !== 'undefined') {
            ctx.setLineDash(gaps);
          } else if (typeof ctx.webkitLineDash !== 'undefined') {
            ctx.webkitLineDash = gaps;
          } else if (typeof ctx.mozDash !== 'undefined' && !(gaps.length === 1 && gaps[0] === 0)) {
            ctx.mozDash = gaps;
          }

          var offset = strokeDashoffsetProp.getPixels();

          if (typeof ctx.lineDashOffset !== 'undefined') {
            ctx.lineDashOffset = offset;
          } else if (typeof ctx.webkitLineDashOffset !== 'undefined') {
            ctx.webkitLineDashOffset = offset;
          } else if (typeof ctx.mozDashOffset !== 'undefined') {
            ctx.mozDashOffset = offset;
          }
        }
      } // font


      this.modifiedEmSizeStack = false;

      if (typeof ctx.font !== 'undefined') {
        var fontStyleProp = this.getStyle('font');
        var fontStyleStyleProp = this.getStyle('font-style');
        var fontVariantStyleProp = this.getStyle('font-variant');
        var fontWeightStyleProp = this.getStyle('font-weight');
        var fontSizeStyleProp = this.getStyle('font-size');
        var fontFamilyStyleProp = this.getStyle('font-family');
        var font = new Font(fontStyleStyleProp.getString(), fontVariantStyleProp.getString(), fontWeightStyleProp.getString(), fontSizeStyleProp.hasValue() ? "".concat(fontSizeStyleProp.getPixels(true), "px") : '', fontFamilyStyleProp.getString(), Font.parse(fontStyleProp.getString(), ctx.font));
        fontStyleStyleProp.setValue(font.fontStyle);
        fontVariantStyleProp.setValue(font.fontVariant);
        fontWeightStyleProp.setValue(font.fontWeight);
        fontSizeStyleProp.setValue(font.fontSize);
        fontFamilyStyleProp.setValue(font.fontFamily);
        ctx.font = font.toString();

        if (fontSizeStyleProp.isPixels()) {
          this.document.emSize = fontSizeStyleProp.getPixels();
          this.modifiedEmSizeStack = true;
        }
      }

      if (!fromMeasure) {
        // effects
        this.applyEffects(ctx); // opacity

        ctx.globalAlpha = this.calculateOpacity();
      }
    }
  }, {
    key: "clearContext",
    value: function clearContext(ctx) {
      _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(RenderedElement.prototype), "clearContext", this).call(this, ctx);

      if (this.modifiedEmSizeStack) {
        this.document.popEmSize();
      }
    }
  }]);

  return RenderedElement;
}(Element);

function _createSuper$5(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$5()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$5() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TextElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TextElement, _RenderedElement);

  var _super = _createSuper$5(TextElement);

  function TextElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TextElement);

    _this = _super.call(this, document, node, (this instanceof TextElement ? this.constructor : void 0) === TextElement ? true : captureTextNodes);
    _this.type = 'text';
    _this.x = 0;
    _this.y = 0;
    _this.measureCache = -1;
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(TextElement, [{
    key: "setContext",
    value: function setContext(ctx) {
      var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(TextElement.prototype), "setContext", this).call(this, ctx, fromMeasure);

      var textBaseline = this.getStyle('dominant-baseline').getTextBaseline() || this.getStyle('alignment-baseline').getTextBaseline();

      if (textBaseline) {
        ctx.textBaseline = textBaseline;
      }
    }
  }, {
    key: "initializeCoordinates",
    value: function initializeCoordinates(ctx) {
      this.x = this.getAttribute('x').getPixels('x');
      this.y = this.getAttribute('y').getPixels('y');
      var dxAttr = this.getAttribute('dx');
      var dyAttr = this.getAttribute('dy');

      if (dxAttr.hasValue()) {
        this.x += dxAttr.getPixels('x');
      }

      if (dyAttr.hasValue()) {
        this.y += dyAttr.getPixels('y');
      }

      this.x += this.getAnchorDelta(ctx, this, 0);
    }
  }, {
    key: "getBoundingBox",
    value: function getBoundingBox(ctx) {
      var _this2 = this;

      if (this.type !== 'text') {
        return this.getTElementBoundingBox(ctx);
      }

      this.initializeCoordinates(ctx);
      var boundingBox = null;
      this.children.forEach(function (_, i) {
        var childBoundingBox = _this2.getChildBoundingBox(ctx, _this2, _this2, i);

        if (!boundingBox) {
          boundingBox = childBoundingBox;
        } else {
          boundingBox.addBoundingBox(childBoundingBox);
        }
      });
      return boundingBox;
    }
  }, {
    key: "getFontSize",
    value: function getFontSize() {
      var document = this.document,
          parent = this.parent;
      var inheritFontSize = Font.parse(document.ctx.font).fontSize;
      var fontSize = parent.getStyle('font-size').getNumber(inheritFontSize);
      return fontSize;
    }
  }, {
    key: "getTElementBoundingBox",
    value: function getTElementBoundingBox(ctx) {
      var fontSize = this.getFontSize();
      return new BoundingBox(this.x, this.y - fontSize, this.x + this.measureText(ctx), this.y);
    }
  }, {
    key: "getGlyph",
    value: function getGlyph(font, text, i) {
      var char = text[i];
      var glyph = null;

      if (font.isArabic) {
        var len = text.length;
        var prevChar = text[i - 1];
        var nextChar = text[i + 1];
        var arabicForm = 'isolated';

        if ((i === 0 || prevChar === ' ') && i < len - 2 && nextChar !== ' ') {
          arabicForm = 'terminal';
        }

        if (i > 0 && prevChar !== ' ' && i < len - 2 && nextChar !== ' ') {
          arabicForm = 'medial';
        }

        if (i > 0 && prevChar !== ' ' && (i === len - 1 || nextChar === ' ')) {
          arabicForm = 'initial';
        }

        if (typeof font.glyphs[char] !== 'undefined') {
          glyph = font.glyphs[char][arabicForm];

          if (!glyph && font.glyphs[char].type === 'glyph') {
            glyph = font.glyphs[char];
          }
        }
      } else {
        glyph = font.glyphs[char];
      }

      if (!glyph) {
        glyph = font.missingGlyph;
      }

      return glyph;
    }
  }, {
    key: "getText",
    value: function getText() {
      return '';
    }
  }, {
    key: "getTextFromNode",
    value: function getTextFromNode(node) {
      var textNode = node || this.node;
      var childNodes = Array.from(textNode.parentNode.childNodes);
      var index = childNodes.indexOf(textNode);
      var lastIndex = childNodes.length - 1;
      var text = compressSpaces(textNode.value || textNode.text || textNode.textContent || '');

      if (index === 0) {
        text = trimLeft(text);
      }

      if (index === lastIndex) {
        text = trimRight(text);
      }

      return text;
    }
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      var _this3 = this;

      if (this.type !== 'text') {
        this.renderTElementChildren(ctx);
        return;
      }

      this.initializeCoordinates(ctx);
      this.children.forEach(function (_, i) {
        _this3.renderChild(ctx, _this3, _this3, i);
      });
      var mouse = this.document.screen.mouse; // Do not calc bounding box if mouse is not working.

      if (mouse.isWorking()) {
        mouse.checkBoundingBox(this, this.getBoundingBox(ctx));
      }
    }
  }, {
    key: "renderTElementChildren",
    value: function renderTElementChildren(ctx) {
      var document = this.document,
          parent = this.parent;
      var renderText = this.getText();
      var customFont = parent.getStyle('font-family').getDefinition();

      if (customFont) {
        var unitsPerEm = customFont.fontFace.unitsPerEm;
        var ctxFont = Font.parse(document.ctx.font);
        var fontSize = parent.getStyle('font-size').getNumber(ctxFont.fontSize);
        var fontStyle = parent.getStyle('font-style').getString(ctxFont.fontStyle);
        var scale = fontSize / unitsPerEm;
        var text = customFont.isRTL ? renderText.split('').reverse().join('') : renderText;
        var dx = toNumbers(parent.getAttribute('dx').getString());
        var len = text.length;

        for (var i = 0; i < len; i++) {
          var glyph = this.getGlyph(customFont, text, i);
          ctx.translate(this.x, this.y);
          ctx.scale(scale, -scale);
          var lw = ctx.lineWidth;
          ctx.lineWidth = ctx.lineWidth * unitsPerEm / fontSize;

          if (fontStyle === 'italic') {
            ctx.transform(1, 0, .4, 1, 0, 0);
          }

          glyph.render(ctx);

          if (fontStyle === 'italic') {
            ctx.transform(1, 0, -.4, 1, 0, 0);
          }

          ctx.lineWidth = lw;
          ctx.scale(1 / scale, -1 / scale);
          ctx.translate(-this.x, -this.y);
          this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / unitsPerEm;

          if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {
            this.x += dx[i];
          }
        }

        return;
      }

      var x = this.x,
          y = this.y;

      if (ctx.paintOrder === 'stroke') {
        if (ctx.strokeStyle) {
          ctx.strokeText(renderText, x, y);
        }

        if (ctx.fillStyle) {
          ctx.fillText(renderText, x, y);
        }
      } else {
        if (ctx.fillStyle) {
          ctx.fillText(renderText, x, y);
        }

        if (ctx.strokeStyle) {
          ctx.strokeText(renderText, x, y);
        }
      }
    }
  }, {
    key: "getAnchorDelta",
    value: function getAnchorDelta(ctx, parent, startI) {
      var textAnchor = this.getStyle('text-anchor').getString('start');

      if (textAnchor !== 'start') {
        var children = parent.children;
        var len = children.length;
        var child = null;
        var width = 0;

        for (var i = startI; i < len; i++) {
          child = children[i];

          if (i > startI && child.getAttribute('x').hasValue() || child.getAttribute('text-anchor').hasValue()) {
            break; // new group
          }

          width += child.measureTextRecursive(ctx);
        }

        return -1 * (textAnchor === 'end' ? width : width / 2.0);
      }

      return 0;
    }
  }, {
    key: "adjustChildCoordinates",
    value: function adjustChildCoordinates(ctx, textParent, parent, i) {
      var child = parent.children[i];

      if (typeof child.measureText !== 'function') {
        return child;
      }

      ctx.save();
      child.setContext(ctx, true);
      var xAttr = child.getAttribute('x');
      var yAttr = child.getAttribute('y');
      var dxAttr = child.getAttribute('dx');
      var dyAttr = child.getAttribute('dy');
      var textAnchor = child.getAttribute('text-anchor').getString('start');

      if (i === 0 && child.type !== 'textNode') {
        if (!xAttr.hasValue()) {
          xAttr.setValue(textParent.getAttribute('x').getValue('0'));
        }

        if (!yAttr.hasValue()) {
          yAttr.setValue(textParent.getAttribute('y').getValue('0'));
        }

        if (!dxAttr.hasValue()) {
          dxAttr.setValue(textParent.getAttribute('dx').getValue('0'));
        }

        if (!dyAttr.hasValue()) {
          dyAttr.setValue(textParent.getAttribute('dy').getValue('0'));
        }
      }

      if (xAttr.hasValue()) {
        child.x = xAttr.getPixels('x') + textParent.getAnchorDelta(ctx, parent, i);

        if (textAnchor !== 'start') {
          var width = child.measureTextRecursive(ctx);
          child.x += -1 * (textAnchor === 'end' ? width : width / 2.0);
        }

        if (dxAttr.hasValue()) {
          child.x += dxAttr.getPixels('x');
        }
      } else {
        if (textAnchor !== 'start') {
          var _width = child.measureTextRecursive(ctx);

          textParent.x += -1 * (textAnchor === 'end' ? _width : _width / 2.0);
        }

        if (dxAttr.hasValue()) {
          textParent.x += dxAttr.getPixels('x');
        }

        child.x = textParent.x;
      }

      textParent.x = child.x + child.measureText(ctx);

      if (yAttr.hasValue()) {
        child.y = yAttr.getPixels('y');

        if (dyAttr.hasValue()) {
          child.y += dyAttr.getPixels('y');
        }
      } else {
        if (dyAttr.hasValue()) {
          textParent.y += dyAttr.getPixels('y');
        }

        child.y = textParent.y;
      }

      textParent.y = child.y;
      child.clearContext(ctx);
      ctx.restore();
      return child;
    }
  }, {
    key: "getChildBoundingBox",
    value: function getChildBoundingBox(ctx, textParent, parent, i) {
      var child = this.adjustChildCoordinates(ctx, textParent, parent, i);
      var boundingBox = child.getBoundingBox(ctx);

      if (!boundingBox) {
        return null;
      }

      child.children.forEach(function (_, i) {
        var childBoundingBox = textParent.getChildBoundingBox(ctx, textParent, child, i);
        boundingBox.addBoundingBox(childBoundingBox);
      });
      return boundingBox;
    }
  }, {
    key: "renderChild",
    value: function renderChild(ctx, textParent, parent, i) {
      var child = this.adjustChildCoordinates(ctx, textParent, parent, i);
      child.render(ctx);
      child.children.forEach(function (_, i) {
        textParent.renderChild(ctx, textParent, child, i);
      });
    }
  }, {
    key: "measureTextRecursive",
    value: function measureTextRecursive(ctx) {
      var width = this.children.reduce(function (width, child) {
        return width + child.measureTextRecursive(ctx);
      }, this.measureText(ctx));
      return width;
    }
  }, {
    key: "measureText",
    value: function measureText(ctx) {
      var measureCache = this.measureCache;

      if (~measureCache) {
        return measureCache;
      }

      var renderText = this.getText();
      var measure = this.measureTargetText(ctx, renderText);
      this.measureCache = measure;
      return measure;
    }
  }, {
    key: "measureTargetText",
    value: function measureTargetText(ctx, targetText) {
      if (!targetText.length) {
        return 0;
      }

      var parent = this.parent;
      var customFont = parent.getStyle('font-family').getDefinition();

      if (customFont) {
        var fontSize = this.getFontSize();
        var text = customFont.isRTL ? targetText.split('').reverse().join('') : targetText;
        var dx = toNumbers(parent.getAttribute('dx').getString());
        var len = text.length;
        var _measure = 0;

        for (var i = 0; i < len; i++) {
          var glyph = this.getGlyph(customFont, text, i);
          _measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm;

          if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {
            _measure += dx[i];
          }
        }

        return _measure;
      }

      if (!ctx.measureText) {
        return targetText.length * 10;
      }

      ctx.save();
      this.setContext(ctx, true);

      var _ctx$measureText = ctx.measureText(targetText),
          measure = _ctx$measureText.width;

      this.clearContext(ctx);
      ctx.restore();
      return measure;
    }
  }]);

  return TextElement;
}(RenderedElement);

function _createSuper$6(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$6()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TSpanElement = /*#__PURE__*/function (_TextElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TSpanElement, _TextElement);

  var _super = _createSuper$6(TSpanElement);

  function TSpanElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TSpanElement);

    _this = _super.call(this, document, node, (this instanceof TSpanElement ? this.constructor : void 0) === TSpanElement ? true : captureTextNodes);
    _this.type = 'tspan'; // if this node has children, then they own the text

    _this.text = _this.children.length > 0 ? '' : _this.getTextFromNode();
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(TSpanElement, [{
    key: "getText",
    value: function getText() {
      return this.text;
    }
  }]);

  return TSpanElement;
}(TextElement);

function _createSuper$7(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$7()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$7() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TextNode = /*#__PURE__*/function (_TSpanElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TextNode, _TSpanElement);

  var _super = _createSuper$7(TextNode);

  function TextNode() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TextNode);

    _this = _super.apply(this, arguments);
    _this.type = 'textNode';
    return _this;
  }

  return TextNode;
}(TSpanElement);

function preparePath(path) {
  var d = path.replace(/,/gm, ' ') // get rid of all commas
  // As the end of a match can also be the start of the next match, we need to run this replace twice.
  .replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, '$1 $2') // suffix commands with spaces
  .replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, '$1 $2') // suffix commands with spaces
  .replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm, '$1 $2') // prefix commands with spaces
  .replace(/([0-9])([+\-])/gm, '$1 $2') // separate digits on +- signs
  // Again, we need to run this twice to find all occurances
  .replace(/(\.[0-9]*)(\.)/gm, '$1 $2') // separate digits when they start with a comma
  .replace(/(\.[0-9]*)(\.)/gm, '$1 $2') // separate digits when they start with a comma
  .replace(/([Aa](?:\s+(?:[0-9]*\.)?[0-9]+){3})\s+([01])\s*([01])/gm, '$1 $2 $3 '); // shorthand elliptical arc path syntax

  return compressSpaces(d).trim();
}

var PathParser = /*#__PURE__*/function () {
  function PathParser(path) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, PathParser);

    this.control = null;
    this.start = null;
    this.current = null;
    this.command = '';
    this.tokens = [];
    this.i = -1;
    this.previousCommand = '';
    this.points = [];
    this.angles = [];
    this.tokens = preparePath(path).split(' ');
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(PathParser, [{
    key: "reset",
    value: function reset() {
      this.i = -1;
      this.command = '';
      this.previousCommand = '';
      this.start = new Point(0, 0);
      this.control = new Point(0, 0);
      this.current = new Point(0, 0);
      this.points = [];
      this.angles = [];
    }
  }, {
    key: "isEnd",
    value: function isEnd() {
      var i = this.i,
          tokens = this.tokens;
      return i >= tokens.length - 1;
    }
  }, {
    key: "isCommandOrEnd",
    value: function isCommandOrEnd() {
      if (this.isEnd()) {
        return true;
      }

      var i = this.i,
          tokens = this.tokens;
      return /^[A-Za-z]$/.test(tokens[i + 1]);
    }
  }, {
    key: "isRelativeCommand",
    value: function isRelativeCommand() {
      switch (this.command) {
        case 'm':
        case 'l':
        case 'h':
        case 'v':
        case 'c':
        case 's':
        case 'q':
        case 't':
        case 'a':
        case 'z':
          return true;

        default:
          return false;
      }
    }
  }, {
    key: "getToken",
    value: function getToken() {
      this.i++;
      return this.tokens[this.i];
    }
  }, {
    key: "getScalar",
    value: function getScalar() {
      return parseFloat(this.getToken());
    }
  }, {
    key: "nextCommand",
    value: function nextCommand() {
      this.previousCommand = this.command;
      this.command = this.getToken();
    }
  }, {
    key: "getPoint",
    value: function getPoint() {
      var point = new Point(this.getScalar(), this.getScalar());
      return this.makeAbsolute(point);
    }
  }, {
    key: "getAsControlPoint",
    value: function getAsControlPoint() {
      var point = this.getPoint();
      this.control = point;
      return point;
    }
  }, {
    key: "getAsCurrentPoint",
    value: function getAsCurrentPoint() {
      var point = this.getPoint();
      this.current = point;
      return point;
    }
  }, {
    key: "getReflectedControlPoint",
    value: function getReflectedControlPoint() {
      var previousCommand = this.previousCommand.toLowerCase();

      if (previousCommand !== 'c' && previousCommand !== 's' && previousCommand !== 'q' && previousCommand !== 't') {
        return this.current;
      } // reflect point


      var _this$current = this.current,
          cx = _this$current.x,
          cy = _this$current.y,
          _this$control = this.control,
          ox = _this$control.x,
          oy = _this$control.y;
      var point = new Point(2 * cx - ox, 2 * cy - oy);
      return point;
    }
  }, {
    key: "makeAbsolute",
    value: function makeAbsolute(point) {
      if (this.isRelativeCommand()) {
        var _this$current2 = this.current,
            x = _this$current2.x,
            y = _this$current2.y;
        point.x += x;
        point.y += y;
      }

      return point;
    }
  }, {
    key: "addMarker",
    value: function addMarker(point, from, priorTo) {
      var points = this.points,
          angles = this.angles; // if the last angle isn't filled in because we didn't have this point yet ...

      if (priorTo && angles.length > 0 && !angles[angles.length - 1]) {
        angles[angles.length - 1] = points[points.length - 1].angleTo(priorTo);
      }

      this.addMarkerAngle(point, from ? from.angleTo(point) : null);
    }
  }, {
    key: "addMarkerAngle",
    value: function addMarkerAngle(point, angle) {
      this.points.push(point);
      this.angles.push(angle);
    }
  }, {
    key: "getMarkerPoints",
    value: function getMarkerPoints() {
      return this.points;
    }
  }, {
    key: "getMarkerAngles",
    value: function getMarkerAngles() {
      var angles = this.angles;
      var len = angles.length;

      for (var i = 0; i < len; i++) {
        if (!angles[i]) {
          for (var j = i + 1; j < len; j++) {
            if (angles[j]) {
              angles[i] = angles[j];
              break;
            }
          }
        }
      }

      return angles;
    }
  }]);

  return PathParser;
}();

function _createSuper$8(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$8()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$8() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var PathElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(PathElement, _RenderedElement);

  var _super = _createSuper$8(PathElement);

  function PathElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, PathElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'path';
    _this.pathParser = null;
    _this.pathParser = new PathParser(_this.getAttribute('d').getString());
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(PathElement, [{
    key: "path",
    value: function path(ctx) {
      var pathParser = this.pathParser;
      var boundingBox = new BoundingBox();
      pathParser.reset();

      if (ctx) {
        ctx.beginPath();
      }

      while (!pathParser.isEnd()) {
        pathParser.nextCommand();

        switch (pathParser.command) {
          case 'M':
          case 'm':
            this.pathM(ctx, boundingBox);
            break;

          case 'L':
          case 'l':
            this.pathL(ctx, boundingBox);
            break;

          case 'H':
          case 'h':
            this.pathH(ctx, boundingBox);
            break;

          case 'V':
          case 'v':
            this.pathV(ctx, boundingBox);
            break;

          case 'C':
          case 'c':
            this.pathC(ctx, boundingBox);
            break;

          case 'S':
          case 's':
            this.pathS(ctx, boundingBox);
            break;

          case 'Q':
          case 'q':
            this.pathQ(ctx, boundingBox);
            break;

          case 'T':
          case 't':
            this.pathT(ctx, boundingBox);
            break;

          case 'A':
          case 'a':
            this.pathA(ctx, boundingBox);
            break;

          case 'Z':
          case 'z':
            this.pathZ(ctx, boundingBox);
            break;
        }
      }

      return boundingBox;
    }
  }, {
    key: "getBoundingBox",
    value: function getBoundingBox(_) {
      return this.path();
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      var pathParser = this.pathParser;
      var points = pathParser.getMarkerPoints();
      var angles = pathParser.getMarkerAngles();
      var markers = points.map(function (point, i) {
        return [point, angles[i]];
      });
      return markers;
    }
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      this.path(ctx);
      this.document.screen.mouse.checkPath(this, ctx);
      var fillRuleStyleProp = this.getStyle('fill-rule');

      if (ctx.fillStyle !== '') {
        if (fillRuleStyleProp.getString('inherit') !== 'inherit') {
          ctx.fill(fillRuleStyleProp.getString());
        } else {
          ctx.fill();
        }
      }

      if (ctx.strokeStyle !== '') {
        ctx.stroke();
      }

      var markers = this.getMarkers();

      if (markers) {
        var markersLastIndex = markers.length - 1;
        var markerStartStyleProp = this.getStyle('marker-start');
        var markerMidStyleProp = this.getStyle('marker-mid');
        var markerEndStyleProp = this.getStyle('marker-end');

        if (markerStartStyleProp.isUrlDefinition()) {
          var marker = markerStartStyleProp.getDefinition();

          var _markers$ = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(markers[0], 2),
              point = _markers$[0],
              angle = _markers$[1];

          marker.render(ctx, point, angle);
        }

        if (markerMidStyleProp.isUrlDefinition()) {
          var _marker = markerMidStyleProp.getDefinition();

          for (var i = 1; i < markersLastIndex; i++) {
            var _markers$i = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(markers[i], 2),
                _point = _markers$i[0],
                _angle = _markers$i[1];

            _marker.render(ctx, _point, _angle);
          }
        }

        if (markerEndStyleProp.isUrlDefinition()) {
          var _marker2 = markerEndStyleProp.getDefinition();

          var _markers$markersLastI = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(markers[markersLastIndex], 2),
              _point2 = _markers$markersLastI[0],
              _angle2 = _markers$markersLastI[1];

          _marker2.render(ctx, _point2, _angle2);
        }
      }
    }
  }, {
    key: "pathM",
    value: function pathM(ctx, boundingBox) {
      var pathParser = this.pathParser;
      var point = pathParser.getAsCurrentPoint();
      var x = point.x,
          y = point.y;
      pathParser.addMarker(point);
      boundingBox.addPoint(x, y);

      if (ctx) {
        ctx.moveTo(x, y);
      }

      pathParser.start = pathParser.current;

      while (!pathParser.isCommandOrEnd()) {
        var _point3 = pathParser.getAsCurrentPoint();

        var _x = _point3.x,
            _y = _point3.y;
        pathParser.addMarker(_point3, pathParser.start);
        boundingBox.addPoint(_x, _y);

        if (ctx) {
          ctx.lineTo(_x, _y);
        }
      }
    }
  }, {
    key: "pathL",
    value: function pathL(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = pathParser.getAsCurrentPoint();
        var x = point.x,
            y = point.y;
        pathParser.addMarker(point, current);
        boundingBox.addPoint(x, y);

        if (ctx) {
          ctx.lineTo(x, y);
        }
      }
    }
  }, {
    key: "pathH",
    value: function pathH(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = new Point((pathParser.isRelativeCommand() ? current.x : 0) + pathParser.getScalar(), current.y);
        pathParser.addMarker(point, current);
        pathParser.current = point;
        boundingBox.addPoint(point.x, point.y);

        if (ctx) {
          ctx.lineTo(point.x, point.y);
        }
      }
    }
  }, {
    key: "pathV",
    value: function pathV(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = new Point(current.x, (pathParser.isRelativeCommand() ? current.y : 0) + pathParser.getScalar());
        pathParser.addMarker(point, current);
        pathParser.current = point;
        boundingBox.addPoint(point.x, point.y);

        if (ctx) {
          ctx.lineTo(point.x, point.y);
        }
      }
    }
  }, {
    key: "pathC",
    value: function pathC(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = pathParser.getPoint();
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        pathParser.addMarker(currentPoint, controlPoint, point);
        boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);

        if (ctx) {
          ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
        }
      }
    }
  }, {
    key: "pathS",
    value: function pathS(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = pathParser.getReflectedControlPoint();
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        pathParser.addMarker(currentPoint, controlPoint, point);
        boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);

        if (ctx) {
          ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
        }
      }
    }
  }, {
    key: "pathQ",
    value: function pathQ(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        pathParser.addMarker(currentPoint, controlPoint, controlPoint);
        boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);

        if (ctx) {
          ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
        }
      }
    }
  }, {
    key: "pathT",
    value: function pathT(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var controlPoint = pathParser.getReflectedControlPoint();
        pathParser.control = controlPoint;
        var currentPoint = pathParser.getAsCurrentPoint();
        pathParser.addMarker(currentPoint, controlPoint, controlPoint);
        boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);

        if (ctx) {
          ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
        }
      }
    }
  }, {
    key: "pathA",
    value: function pathA(ctx, boundingBox) {
      var pathParser = this.pathParser;

      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var rx = pathParser.getScalar();
        var ry = pathParser.getScalar();
        var xAxisRotation = pathParser.getScalar() * (Math.PI / 180.0);
        var largeArcFlag = pathParser.getScalar();
        var sweepFlag = pathParser.getScalar();
        var currentPoint = pathParser.getAsCurrentPoint(); // Conversion from endpoint to center parameterization
        // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
        // x1', y1'

        var currp = new Point(Math.cos(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.sin(xAxisRotation) * (current.y - currentPoint.y) / 2.0, -Math.sin(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * (current.y - currentPoint.y) / 2.0); // adjust radii

        var l = Math.pow(currp.x, 2) / Math.pow(rx, 2) + Math.pow(currp.y, 2) / Math.pow(ry, 2);

        if (l > 1) {
          rx *= Math.sqrt(l);
          ry *= Math.sqrt(l);
        } // cx', cy'


        var s = (largeArcFlag === sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rx, 2) * Math.pow(ry, 2) - Math.pow(rx, 2) * Math.pow(currp.y, 2) - Math.pow(ry, 2) * Math.pow(currp.x, 2)) / (Math.pow(rx, 2) * Math.pow(currp.y, 2) + Math.pow(ry, 2) * Math.pow(currp.x, 2)));

        if (isNaN(s)) {
          s = 0;
        }

        var cpp = new Point(s * rx * currp.y / ry, s * -ry * currp.x / rx); // cx, cy

        var centp = new Point((current.x + currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (current.y + currentPoint.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y); // initial angle

        var a1 = vectorsAngle([1, 0], [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry]); // angle delta

        var u = [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry];
        var v = [(-currp.x - cpp.x) / rx, (-currp.y - cpp.y) / ry];
        var ad = vectorsAngle(u, v);

        if (vectorsRatio(u, v) <= -1) {
          ad = Math.PI;
        }

        if (vectorsRatio(u, v) >= 1) {
          ad = 0;
        } // for markers


        var dir = 1 - sweepFlag ? 1.0 : -1.0;
        var ah = a1 + dir * (ad / 2.0);
        var halfWay = new Point(centp.x + rx * Math.cos(ah), centp.y + ry * Math.sin(ah));
        pathParser.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);
        pathParser.addMarkerAngle(currentPoint, ah - dir * Math.PI);
        boundingBox.addPoint(currentPoint.x, currentPoint.y); // TODO: this is too naive, make it better

        if (ctx && !isNaN(a1) && !isNaN(ad)) {
          var r = rx > ry ? rx : ry;
          var sx = rx > ry ? 1 : rx / ry;
          var sy = rx > ry ? ry / rx : 1;
          ctx.translate(centp.x, centp.y);
          ctx.rotate(xAxisRotation);
          ctx.scale(sx, sy);
          ctx.arc(0, 0, r, a1, a1 + ad, Boolean(1 - sweepFlag));
          ctx.scale(1 / sx, 1 / sy);
          ctx.rotate(-xAxisRotation);
          ctx.translate(-centp.x, -centp.y);
        }
      }
    }
  }, {
    key: "pathZ",
    value: function pathZ(ctx, boundingBox) {
      var pathParser = this.pathParser;

      if (ctx) {
        // only close path if it is not a straight line
        if (boundingBox.x1 !== boundingBox.x2 && boundingBox.y1 !== boundingBox.y2) {
          ctx.closePath();
        }
      }

      pathParser.current = pathParser.start;
    }
  }]);

  return PathElement;
}(RenderedElement);

function _createSuper$9(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$9()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$9() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var SVGElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(SVGElement, _RenderedElement);

  var _super = _createSuper$9(SVGElement);

  function SVGElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, SVGElement);

    _this = _super.apply(this, arguments);
    _this.type = 'svg';
    _this.root = false;
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(SVGElement, [{
    key: "clearContext",
    value: function clearContext(ctx) {
      _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(SVGElement.prototype), "clearContext", this).call(this, ctx);

      this.document.screen.viewPort.removeCurrent();
    }
  }, {
    key: "setContext",
    value: function setContext(ctx) {
      var document = this.document;
      var screen = document.screen,
          window = document.window;
      var canvas = ctx.canvas;
      screen.setDefaults(ctx);

      if (canvas.style && typeof ctx.font !== 'undefined' && window && typeof window.getComputedStyle !== 'undefined') {
        ctx.font = window.getComputedStyle(canvas).getPropertyValue('font');
        var fontSizeProp = new Property(document, 'fontSize', Font.parse(ctx.font).fontSize);

        if (fontSizeProp.hasValue()) {
          document.rootEmSize = fontSizeProp.getPixels('y');
          document.emSize = document.rootEmSize;
        }
      }

      _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(SVGElement.prototype), "setContext", this).call(this, ctx); // create new view port


      if (!this.getAttribute('x').hasValue()) {
        this.getAttribute('x', true).setValue(0);
      }

      if (!this.getAttribute('y').hasValue()) {
        this.getAttribute('y', true).setValue(0);
      }

      ctx.translate(this.getAttribute('x').getPixels('x'), this.getAttribute('y').getPixels('y'));
      var _screen$viewPort = screen.viewPort,
          width = _screen$viewPort.width,
          height = _screen$viewPort.height;

      if (!this.getStyle('width').hasValue()) {
        this.getStyle('width', true).setValue('100%');
      }

      if (!this.getStyle('height').hasValue()) {
        this.getStyle('height', true).setValue('100%');
      }

      if (!this.getStyle('color').hasValue()) {
        this.getStyle('color', true).setValue('black');
      }

      var refXAttr = this.getAttribute('refX');
      var refYAttr = this.getAttribute('refY');
      var viewBoxAttr = this.getAttribute('viewBox');
      var viewBox = viewBoxAttr.hasValue() ? toNumbers(viewBoxAttr.getString()) : null;
      var clip = !this.root && this.getAttribute('overflow').getValue('hidden') !== 'visible';
      var minX = 0;
      var minY = 0;
      var clipX = 0;
      var clipY = 0;

      if (viewBox) {
        minX = viewBox[0];
        minY = viewBox[1];
      }

      if (!this.root) {
        width = this.getStyle('width').getPixels('x');
        height = this.getStyle('height').getPixels('y');

        if (this.type === 'marker') {
          clipX = minX;
          clipY = minY;
          minX = 0;
          minY = 0;
        }
      }

      screen.viewPort.setCurrent(width, height);

      if (viewBox) {
        width = viewBox[2];
        height = viewBox[3];
      }

      document.setViewBox({
        ctx: ctx,
        aspectRatio: this.getAttribute('preserveAspectRatio').getString(),
        width: screen.viewPort.width,
        desiredWidth: width,
        height: screen.viewPort.height,
        desiredHeight: height,
        minX: minX,
        minY: minY,
        refX: refXAttr.getValue(),
        refY: refYAttr.getValue(),
        clip: clip,
        clipX: clipX,
        clipY: clipY
      });

      if (viewBox) {
        screen.viewPort.removeCurrent();
        screen.viewPort.setCurrent(width, height);
      }
    }
    /**
     * Resize SVG to fit in given size.
     * @param width
     * @param height
     * @param preserveAspectRatio
     */

  }, {
    key: "resize",
    value: function resize(width) {
      var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;
      var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var widthAttr = this.getAttribute('width', true);
      var heightAttr = this.getAttribute('height', true);
      var viewBoxAttr = this.getAttribute('viewBox');
      var styleAttr = this.getAttribute('style');
      var originWidth = widthAttr.getNumber(0);
      var originHeight = heightAttr.getNumber(0);

      if (preserveAspectRatio) {
        if (typeof preserveAspectRatio === 'string') {
          this.getAttribute('preserveAspectRatio', true).setValue(preserveAspectRatio);
        } else {
          var preserveAspectRatioAttr = this.getAttribute('preserveAspectRatio');

          if (preserveAspectRatioAttr.hasValue()) {
            preserveAspectRatioAttr.setValue(preserveAspectRatioAttr.getString().replace(/^\s*(\S.*\S)\s*$/, '$1'));
          }
        }
      }

      widthAttr.setValue(width);
      heightAttr.setValue(height);

      if (!viewBoxAttr.hasValue()) {
        viewBoxAttr.setValue("0 0 ".concat(originWidth || width, " ").concat(originHeight || height));
      }

      if (styleAttr.hasValue()) {
        var widthStyle = this.getStyle('width');
        var heightStyle = this.getStyle('height');

        if (widthStyle.hasValue()) {
          widthStyle.setValue("".concat(width, "px"));
        }

        if (heightStyle.hasValue()) {
          heightStyle.setValue("".concat(height, "px"));
        }
      }
    }
  }]);

  return SVGElement;
}(RenderedElement);

function _createSuper$a(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$a()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$a() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var RectElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(RectElement, _PathElement);

  var _super = _createSuper$a(RectElement);

  function RectElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, RectElement);

    _this = _super.apply(this, arguments);
    _this.type = 'rect';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(RectElement, [{
    key: "path",
    value: function path(ctx) {
      var x = this.getAttribute('x').getPixels('x');
      var y = this.getAttribute('y').getPixels('y');
      var width = this.getStyle('width').getPixels('x');
      var height = this.getStyle('height').getPixels('y');
      var rxAttr = this.getAttribute('rx');
      var ryAttr = this.getAttribute('ry');
      var rx = rxAttr.getPixels('x');
      var ry = ryAttr.getPixels('y');

      if (rxAttr.hasValue() && !ryAttr.hasValue()) {
        ry = rx;
      }

      if (ryAttr.hasValue() && !rxAttr.hasValue()) {
        rx = ry;
      }

      rx = Math.min(rx, width / 2.0);
      ry = Math.min(ry, height / 2.0);

      if (ctx) {
        var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);
        ctx.beginPath(); // always start the path so we don't fill prior paths

        if (height > 0 && width > 0) {
          ctx.moveTo(x + rx, y);
          ctx.lineTo(x + width - rx, y);
          ctx.bezierCurveTo(x + width - rx + KAPPA * rx, y, x + width, y + ry - KAPPA * ry, x + width, y + ry);
          ctx.lineTo(x + width, y + height - ry);
          ctx.bezierCurveTo(x + width, y + height - ry + KAPPA * ry, x + width - rx + KAPPA * rx, y + height, x + width - rx, y + height);
          ctx.lineTo(x + rx, y + height);
          ctx.bezierCurveTo(x + rx - KAPPA * rx, y + height, x, y + height - ry + KAPPA * ry, x, y + height - ry);
          ctx.lineTo(x, y + ry);
          ctx.bezierCurveTo(x, y + ry - KAPPA * ry, x + rx - KAPPA * rx, y, x + rx, y);
          ctx.closePath();
        }
      }

      return new BoundingBox(x, y, x + width, y + height);
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      return null;
    }
  }]);

  return RectElement;
}(PathElement);

function _createSuper$b(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$b()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$b() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var CircleElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(CircleElement, _PathElement);

  var _super = _createSuper$b(CircleElement);

  function CircleElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, CircleElement);

    _this = _super.apply(this, arguments);
    _this.type = 'circle';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(CircleElement, [{
    key: "path",
    value: function path(ctx) {
      var cx = this.getAttribute('cx').getPixels('x');
      var cy = this.getAttribute('cy').getPixels('y');
      var r = this.getAttribute('r').getPixels();

      if (ctx && r > 0) {
        ctx.beginPath();
        ctx.arc(cx, cy, r, 0, Math.PI * 2, false);
        ctx.closePath();
      }

      return new BoundingBox(cx - r, cy - r, cx + r, cy + r);
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      return null;
    }
  }]);

  return CircleElement;
}(PathElement);

function _createSuper$c(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$c()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var EllipseElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(EllipseElement, _PathElement);

  var _super = _createSuper$c(EllipseElement);

  function EllipseElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, EllipseElement);

    _this = _super.apply(this, arguments);
    _this.type = 'ellipse';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(EllipseElement, [{
    key: "path",
    value: function path(ctx) {
      var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);
      var rx = this.getAttribute('rx').getPixels('x');
      var ry = this.getAttribute('ry').getPixels('y');
      var cx = this.getAttribute('cx').getPixels('x');
      var cy = this.getAttribute('cy').getPixels('y');

      if (ctx && rx > 0 && ry > 0) {
        ctx.beginPath();
        ctx.moveTo(cx + rx, cy);
        ctx.bezierCurveTo(cx + rx, cy + KAPPA * ry, cx + KAPPA * rx, cy + ry, cx, cy + ry);
        ctx.bezierCurveTo(cx - KAPPA * rx, cy + ry, cx - rx, cy + KAPPA * ry, cx - rx, cy);
        ctx.bezierCurveTo(cx - rx, cy - KAPPA * ry, cx - KAPPA * rx, cy - ry, cx, cy - ry);
        ctx.bezierCurveTo(cx + KAPPA * rx, cy - ry, cx + rx, cy - KAPPA * ry, cx + rx, cy);
        ctx.closePath();
      }

      return new BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      return null;
    }
  }]);

  return EllipseElement;
}(PathElement);

function _createSuper$d(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$d()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$d() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var LineElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(LineElement, _PathElement);

  var _super = _createSuper$d(LineElement);

  function LineElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, LineElement);

    _this = _super.apply(this, arguments);
    _this.type = 'line';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(LineElement, [{
    key: "getPoints",
    value: function getPoints() {
      return [new Point(this.getAttribute('x1').getPixels('x'), this.getAttribute('y1').getPixels('y')), new Point(this.getAttribute('x2').getPixels('x'), this.getAttribute('y2').getPixels('y'))];
    }
  }, {
    key: "path",
    value: function path(ctx) {
      var _this$getPoints = this.getPoints(),
          _this$getPoints2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_this$getPoints, 2),
          _this$getPoints2$ = _this$getPoints2[0],
          x0 = _this$getPoints2$.x,
          y0 = _this$getPoints2$.y,
          _this$getPoints2$2 = _this$getPoints2[1],
          x1 = _this$getPoints2$2.x,
          y1 = _this$getPoints2$2.y;

      if (ctx) {
        ctx.beginPath();
        ctx.moveTo(x0, y0);
        ctx.lineTo(x1, y1);
      }

      return new BoundingBox(x0, y0, x1, y1);
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      var _this$getPoints3 = this.getPoints(),
          _this$getPoints4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(_this$getPoints3, 2),
          p0 = _this$getPoints4[0],
          p1 = _this$getPoints4[1];

      var a = p0.angleTo(p1);
      return [[p0, a], [p1, a]];
    }
  }]);

  return LineElement;
}(PathElement);

function _createSuper$e(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$e()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$e() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var PolylineElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(PolylineElement, _PathElement);

  var _super = _createSuper$e(PolylineElement);

  function PolylineElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, PolylineElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'polyline';
    _this.points = [];
    _this.points = Point.parsePath(_this.getAttribute('points').getString());
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(PolylineElement, [{
    key: "path",
    value: function path(ctx) {
      var points = this.points;

      var _points = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(points, 1),
          _points$ = _points[0],
          x0 = _points$.x,
          y0 = _points$.y;

      var boundingBox = new BoundingBox(x0, y0);

      if (ctx) {
        ctx.beginPath();
        ctx.moveTo(x0, y0);
      }

      points.forEach(function (_ref) {
        var x = _ref.x,
            y = _ref.y;
        boundingBox.addPoint(x, y);

        if (ctx) {
          ctx.lineTo(x, y);
        }
      });
      return boundingBox;
    }
  }, {
    key: "getMarkers",
    value: function getMarkers() {
      var points = this.points;
      var lastIndex = points.length - 1;
      var markers = [];
      points.forEach(function (point, i) {
        if (i === lastIndex) {
          return;
        }

        markers.push([point, point.angleTo(points[i + 1])]);
      });

      if (markers.length > 0) {
        markers.push([points[points.length - 1], markers[markers.length - 1][1]]);
      }

      return markers;
    }
  }]);

  return PolylineElement;
}(PathElement);

function _createSuper$f(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$f()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$f() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var PolygonElement = /*#__PURE__*/function (_PolylineElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(PolygonElement, _PolylineElement);

  var _super = _createSuper$f(PolygonElement);

  function PolygonElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, PolygonElement);

    _this = _super.apply(this, arguments);
    _this.type = 'polygon';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(PolygonElement, [{
    key: "path",
    value: function path(ctx) {
      var boundingBox = _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(PolygonElement.prototype), "path", this).call(this, ctx);

      var _this$points = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(this.points, 1),
          _this$points$ = _this$points[0],
          x = _this$points$.x,
          y = _this$points$.y;

      if (ctx) {
        ctx.lineTo(x, y);
        ctx.closePath();
      }

      return boundingBox;
    }
  }]);

  return PolygonElement;
}(PolylineElement);

function _createSuper$g(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$g()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$g() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var PatternElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(PatternElement, _Element);

  var _super = _createSuper$g(PatternElement);

  function PatternElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, PatternElement);

    _this = _super.apply(this, arguments);
    _this.type = 'pattern';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(PatternElement, [{
    key: "createPattern",
    value: function createPattern(ctx, _, parentOpacityProp) {
      var width = this.getStyle('width').getPixels('x', true);
      var height = this.getStyle('height').getPixels('y', true); // render me using a temporary svg element

      var patternSvg = new SVGElement(this.document, null);
      patternSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());
      patternSvg.attributes.width = new Property(this.document, 'width', "".concat(width, "px"));
      patternSvg.attributes.height = new Property(this.document, 'height', "".concat(height, "px"));
      patternSvg.attributes.transform = new Property(this.document, 'transform', this.getAttribute('patternTransform').getValue());
      patternSvg.children = this.children;
      var patternCanvas = this.document.createCanvas(width, height);
      var patternCtx = patternCanvas.getContext('2d');
      var xAttr = this.getAttribute('x');
      var yAttr = this.getAttribute('y');

      if (xAttr.hasValue() && yAttr.hasValue()) {
        patternCtx.translate(xAttr.getPixels('x', true), yAttr.getPixels('y', true));
      }

      if (parentOpacityProp.hasValue()) {
        this.styles['fill-opacity'] = parentOpacityProp;
      } else {
        Reflect.deleteProperty(this.styles, 'fill-opacity');
      } // render 3x3 grid so when we transform there's no white space on edges


      for (var x = -1; x <= 1; x++) {
        for (var y = -1; y <= 1; y++) {
          patternCtx.save();
          patternSvg.attributes.x = new Property(this.document, 'x', x * patternCanvas.width);
          patternSvg.attributes.y = new Property(this.document, 'y', y * patternCanvas.height);
          patternSvg.render(patternCtx);
          patternCtx.restore();
        }
      }

      var pattern = ctx.createPattern(patternCanvas, 'repeat');
      return pattern;
    }
  }]);

  return PatternElement;
}(Element);

function _createSuper$h(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$h()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$h() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var MarkerElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(MarkerElement, _Element);

  var _super = _createSuper$h(MarkerElement);

  function MarkerElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, MarkerElement);

    _this = _super.apply(this, arguments);
    _this.type = 'marker';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(MarkerElement, [{
    key: "render",
    value: function render(ctx, point, angle) {
      if (!point) {
        return;
      }

      var x = point.x,
          y = point.y;
      var orient = this.getAttribute('orient').getValue('auto');
      var markerUnits = this.getAttribute('markerUnits').getValue('strokeWidth');
      ctx.translate(x, y);

      if (orient === 'auto') {
        ctx.rotate(angle);
      }

      if (markerUnits === 'strokeWidth') {
        ctx.scale(ctx.lineWidth, ctx.lineWidth);
      }

      ctx.save(); // render me using a temporary svg element

      var markerSvg = new SVGElement(this.document, null);
      markerSvg.type = this.type;
      markerSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());
      markerSvg.attributes.refX = new Property(this.document, 'refX', this.getAttribute('refX').getValue());
      markerSvg.attributes.refY = new Property(this.document, 'refY', this.getAttribute('refY').getValue());
      markerSvg.attributes.width = new Property(this.document, 'width', this.getAttribute('markerWidth').getValue());
      markerSvg.attributes.height = new Property(this.document, 'height', this.getAttribute('markerHeight').getValue());
      markerSvg.attributes.overflow = new Property(this.document, 'overflow', this.getAttribute('overflow').getValue());
      markerSvg.attributes.fill = new Property(this.document, 'fill', this.getAttribute('fill').getColor('black'));
      markerSvg.attributes.stroke = new Property(this.document, 'stroke', this.getAttribute('stroke').getValue('none'));
      markerSvg.children = this.children;
      markerSvg.render(ctx);
      ctx.restore();

      if (markerUnits === 'strokeWidth') {
        ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth);
      }

      if (orient === 'auto') {
        ctx.rotate(-angle);
      }

      ctx.translate(-x, -y);
    }
  }]);

  return MarkerElement;
}(Element);

function _createSuper$i(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$i()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$i() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var DefsElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(DefsElement, _Element);

  var _super = _createSuper$i(DefsElement);

  function DefsElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, DefsElement);

    _this = _super.apply(this, arguments);
    _this.type = 'defs';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(DefsElement, [{
    key: "render",
    value: function render() {// NOOP
    }
  }]);

  return DefsElement;
}(Element);

function _createSuper$j(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$j()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$j() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var GElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(GElement, _RenderedElement);

  var _super = _createSuper$j(GElement);

  function GElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, GElement);

    _this = _super.apply(this, arguments);
    _this.type = 'g';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(GElement, [{
    key: "getBoundingBox",
    value: function getBoundingBox(ctx) {
      var boundingBox = new BoundingBox();
      this.children.forEach(function (child) {
        boundingBox.addBoundingBox(child.getBoundingBox(ctx));
      });
      return boundingBox;
    }
  }]);

  return GElement;
}(RenderedElement);

function _createSuper$k(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$k()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$k() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var GradientElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(GradientElement, _Element);

  var _super = _createSuper$k(GradientElement);

  function GradientElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, GradientElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.attributesToInherit = ['gradientUnits'];
    _this.stops = [];

    var _assertThisInitialize = _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default()(_this),
        stops = _assertThisInitialize.stops,
        children = _assertThisInitialize.children;

    children.forEach(function (child) {
      if (child.type === 'stop') {
        stops.push(child);
      }
    });
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(GradientElement, [{
    key: "getGradientUnits",
    value: function getGradientUnits() {
      return this.getAttribute('gradientUnits').getString('objectBoundingBox');
    }
  }, {
    key: "createGradient",
    value: function createGradient(ctx, element, parentOpacityProp) {
      var _this2 = this;

      // tslint:disable-next-line: no-this-assignment
      var stopsContainer = this;

      if (this.getHrefAttribute().hasValue()) {
        stopsContainer = this.getHrefAttribute().getDefinition();
        this.inheritStopContainer(stopsContainer);
      }

      var _stopsContainer = stopsContainer,
          stops = _stopsContainer.stops;
      var gradient = this.getGradient(ctx, element);

      if (!gradient) {
        return this.addParentOpacity(parentOpacityProp, stops[stops.length - 1].color);
      }

      stops.forEach(function (stop) {
        gradient.addColorStop(stop.offset, _this2.addParentOpacity(parentOpacityProp, stop.color));
      });

      if (this.getAttribute('gradientTransform').hasValue()) {
        // render as transformed pattern on temporary canvas
        var document = this.document;
        var _document$screen = document.screen,
            MAX_VIRTUAL_PIXELS = _document$screen.MAX_VIRTUAL_PIXELS,
            viewPort = _document$screen.viewPort;

        var _viewPort$viewPorts = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_6___default()(viewPort.viewPorts, 1),
            rootView = _viewPort$viewPorts[0];

        var rect = new RectElement(document, null);
        rect.attributes.x = new Property(document, 'x', -MAX_VIRTUAL_PIXELS / 3.0);
        rect.attributes.y = new Property(document, 'y', -MAX_VIRTUAL_PIXELS / 3.0);
        rect.attributes.width = new Property(document, 'width', MAX_VIRTUAL_PIXELS);
        rect.attributes.height = new Property(document, 'height', MAX_VIRTUAL_PIXELS);
        var group = new GElement(document, null);
        group.attributes.transform = new Property(document, 'transform', this.getAttribute('gradientTransform').getValue());
        group.children = [rect];
        var patternSvg = new SVGElement(document, null);
        patternSvg.attributes.x = new Property(document, 'x', 0);
        patternSvg.attributes.y = new Property(document, 'y', 0);
        patternSvg.attributes.width = new Property(document, 'width', rootView.width);
        patternSvg.attributes.height = new Property(document, 'height', rootView.height);
        patternSvg.children = [group];
        var patternCanvas = document.createCanvas(rootView.width, rootView.height);
        var patternCtx = patternCanvas.getContext('2d');
        patternCtx.fillStyle = gradient;
        patternSvg.render(patternCtx);
        return patternCtx.createPattern(patternCanvas, 'no-repeat');
      }

      return gradient;
    }
  }, {
    key: "inheritStopContainer",
    value: function inheritStopContainer(stopsContainer) {
      var _this3 = this;

      this.attributesToInherit.forEach(function (attributeToInherit) {
        if (!_this3.getAttribute(attributeToInherit).hasValue() && stopsContainer.getAttribute(attributeToInherit).hasValue()) {
          _this3.getAttribute(attributeToInherit, true).setValue(stopsContainer.getAttribute(attributeToInherit).getValue());
        }
      });
    }
  }, {
    key: "addParentOpacity",
    value: function addParentOpacity(parentOpacityProp, color) {
      if (parentOpacityProp.hasValue()) {
        var colorProp = new Property(this.document, 'color', color);
        return colorProp.addOpacity(parentOpacityProp).getColor();
      }

      return color;
    }
  }]);

  return GradientElement;
}(Element);

function _createSuper$l(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$l()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$l() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var LinearGradientElement = /*#__PURE__*/function (_GradientElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(LinearGradientElement, _GradientElement);

  var _super = _createSuper$l(LinearGradientElement);

  function LinearGradientElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, LinearGradientElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'linearGradient';

    _this.attributesToInherit.push('x1', 'y1', 'x2', 'y2');

    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(LinearGradientElement, [{
    key: "getGradient",
    value: function getGradient(ctx, element) {
      var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';
      var boundingBox = isBoundingBoxUnits ? element.getBoundingBox(ctx) : null;

      if (isBoundingBoxUnits && !boundingBox) {
        return null;
      }

      if (!this.getAttribute('x1').hasValue() && !this.getAttribute('y1').hasValue() && !this.getAttribute('x2').hasValue() && !this.getAttribute('y2').hasValue()) {
        this.getAttribute('x1', true).setValue(0);
        this.getAttribute('y1', true).setValue(0);
        this.getAttribute('x2', true).setValue(1);
        this.getAttribute('y2', true).setValue(0);
      }

      var x1 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x1').getNumber() : this.getAttribute('x1').getPixels('x');
      var y1 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y1').getNumber() : this.getAttribute('y1').getPixels('y');
      var x2 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x2').getNumber() : this.getAttribute('x2').getPixels('x');
      var y2 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y2').getNumber() : this.getAttribute('y2').getPixels('y');

      if (x1 === x2 && y1 === y2) {
        return null;
      }

      return ctx.createLinearGradient(x1, y1, x2, y2);
    }
  }]);

  return LinearGradientElement;
}(GradientElement);

function _createSuper$m(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$m()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$m() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var RadialGradientElement = /*#__PURE__*/function (_GradientElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(RadialGradientElement, _GradientElement);

  var _super = _createSuper$m(RadialGradientElement);

  function RadialGradientElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, RadialGradientElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'radialGradient';

    _this.attributesToInherit.push('cx', 'cy', 'r', 'fx', 'fy', 'fr');

    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(RadialGradientElement, [{
    key: "getGradient",
    value: function getGradient(ctx, element) {
      var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';
      var boundingBox = element.getBoundingBox(ctx);

      if (isBoundingBoxUnits && !boundingBox) {
        return null;
      }

      if (!this.getAttribute('cx').hasValue()) {
        this.getAttribute('cx', true).setValue('50%');
      }

      if (!this.getAttribute('cy').hasValue()) {
        this.getAttribute('cy', true).setValue('50%');
      }

      if (!this.getAttribute('r').hasValue()) {
        this.getAttribute('r', true).setValue('50%');
      }

      var cx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('cx').getNumber() : this.getAttribute('cx').getPixels('x');
      var cy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('cy').getNumber() : this.getAttribute('cy').getPixels('y');
      var fx = cx;
      var fy = cy;

      if (this.getAttribute('fx').hasValue()) {
        fx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('fx').getNumber() : this.getAttribute('fx').getPixels('x');
      }

      if (this.getAttribute('fy').hasValue()) {
        fy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('fy').getNumber() : this.getAttribute('fy').getPixels('y');
      }

      var r = isBoundingBoxUnits ? (boundingBox.width + boundingBox.height) / 2.0 * this.getAttribute('r').getNumber() : this.getAttribute('r').getPixels();
      var fr = this.getAttribute('fr').getPixels();
      return ctx.createRadialGradient(fx, fy, fr, cx, cy, r);
    }
  }]);

  return RadialGradientElement;
}(GradientElement);

function _createSuper$n(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$n()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$n() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var StopElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(StopElement, _Element);

  var _super = _createSuper$n(StopElement);

  function StopElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, StopElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'stop';
    var offset = Math.max(0, Math.min(1, _this.getAttribute('offset').getNumber()));

    var stopOpacity = _this.getStyle('stop-opacity');

    var stopColor = _this.getStyle('stop-color', true);

    if (stopColor.getString() === '') {
      stopColor.setValue('#000');
    }

    if (stopOpacity.hasValue()) {
      stopColor = stopColor.addOpacity(stopOpacity);
    }

    _this.offset = offset;
    _this.color = stopColor.getColor();
    return _this;
  }

  return StopElement;
}(Element);

function _createSuper$o(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$o()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$o() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var AnimateElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(AnimateElement, _Element);

  var _super = _createSuper$o(AnimateElement);

  function AnimateElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, AnimateElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'animate';
    _this.duration = 0;
    _this.initialValue = null;
    _this.initialUnits = '';
    _this.removed = false;
    _this.frozen = false;
    document.screen.animations.push(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default()(_this));
    _this.begin = _this.getAttribute('begin').getMilliseconds();
    _this.maxDuration = _this.begin + _this.getAttribute('dur').getMilliseconds();
    _this.from = _this.getAttribute('from');
    _this.to = _this.getAttribute('to');
    _this.values = _this.getAttribute('values');

    if (_this.values.hasValue()) {
      _this.values.setValue(_this.values.getString().split(';'));
    }

    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(AnimateElement, [{
    key: "getProperty",
    value: function getProperty() {
      var attributeType = this.getAttribute('attributeType').getString();
      var attributeName = this.getAttribute('attributeName').getString();

      if (attributeType === 'CSS') {
        return this.parent.getStyle(attributeName, true);
      }

      return this.parent.getAttribute(attributeName, true);
    }
  }, {
    key: "calcValue",
    value: function calcValue() {
      var initialUnits = this.initialUnits;

      var _this$getProgress = this.getProgress(),
          progress = _this$getProgress.progress,
          from = _this$getProgress.from,
          to = _this$getProgress.to; // tween value linearly


      var newValue = from.getNumber() + (to.getNumber() - from.getNumber()) * progress;

      if (initialUnits === '%') {
        newValue *= 100.0; // numValue() returns 0-1 whereas properties are 0-100
      }

      return "".concat(newValue).concat(initialUnits);
    }
  }, {
    key: "update",
    value: function update(delta) {
      var parent = this.parent;
      var prop = this.getProperty(); // set initial value

      if (!this.initialValue) {
        this.initialValue = prop.getString();
        this.initialUnits = prop.getUnits();
      } // if we're past the end time


      if (this.duration > this.maxDuration) {
        var fill = this.getAttribute('fill').getString('remove'); // loop for indefinitely repeating animations

        if (this.getAttribute('repeatCount').getString() === 'indefinite' || this.getAttribute('repeatDur').getString() === 'indefinite') {
          this.duration = 0;
        } else if (fill === 'freeze' && !this.frozen) {
          this.frozen = true;
          parent.animationFrozen = true;
          parent.animationFrozenValue = prop.getString();
        } else if (fill === 'remove' && !this.removed) {
          this.removed = true;
          prop.setValue(parent.animationFrozen ? parent.animationFrozenValue : this.initialValue);
          return true;
        }

        return false;
      }

      this.duration += delta; // if we're past the begin time

      var updated = false;

      if (this.begin < this.duration) {
        var newValue = this.calcValue(); // tween

        var typeAttr = this.getAttribute('type');

        if (typeAttr.hasValue()) {
          // for transform, etc.
          var type = typeAttr.getString();
          newValue = "".concat(type, "(").concat(newValue, ")");
        }

        prop.setValue(newValue);
        updated = true;
      }

      return updated;
    }
  }, {
    key: "getProgress",
    value: function getProgress() {
      var document = this.document,
          values = this.values;
      var result = {
        progress: (this.duration - this.begin) / (this.maxDuration - this.begin)
      };

      if (values.hasValue()) {
        var p = result.progress * (values.getValue().length - 1);
        var lb = Math.floor(p);
        var ub = Math.ceil(p);
        result.from = new Property(document, 'from', parseFloat(values.getValue()[lb]));
        result.to = new Property(document, 'to', parseFloat(values.getValue()[ub]));
        result.progress = (p - lb) / (ub - lb);
      } else {
        result.from = this.from;
        result.to = this.to;
      }

      return result;
    }
  }]);

  return AnimateElement;
}(Element);

function _createSuper$p(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$p()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$p() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var AnimateColorElement = /*#__PURE__*/function (_AnimateElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(AnimateColorElement, _AnimateElement);

  var _super = _createSuper$p(AnimateColorElement);

  function AnimateColorElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, AnimateColorElement);

    _this = _super.apply(this, arguments);
    _this.type = 'animateColor';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(AnimateColorElement, [{
    key: "calcValue",
    value: function calcValue() {
      var _this$getProgress = this.getProgress(),
          progress = _this$getProgress.progress,
          from = _this$getProgress.from,
          to = _this$getProgress.to;

      var colorFrom = new rgbcolor__WEBPACK_IMPORTED_MODULE_27___default.a(from.getColor());
      var colorTo = new rgbcolor__WEBPACK_IMPORTED_MODULE_27___default.a(to.getColor());

      if (colorFrom.ok && colorTo.ok) {
        // tween color linearly
        var r = colorFrom.r + (colorTo.r - colorFrom.r) * progress;
        var g = colorFrom.g + (colorTo.g - colorFrom.g) * progress;
        var b = colorFrom.b + (colorTo.b - colorFrom.b) * progress; // ? alpha

        return "rgb(".concat(parseInt(r, 10), ", ").concat(parseInt(g, 10), ", ").concat(parseInt(b, 10), ")");
      }

      return this.getAttribute('from').getColor();
    }
  }]);

  return AnimateColorElement;
}(AnimateElement);

function _createSuper$q(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$q()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$q() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var AnimateTransformElement = /*#__PURE__*/function (_AnimateElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(AnimateTransformElement, _AnimateElement);

  var _super = _createSuper$q(AnimateTransformElement);

  function AnimateTransformElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, AnimateTransformElement);

    _this = _super.apply(this, arguments);
    _this.type = 'animateTransform';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(AnimateTransformElement, [{
    key: "calcValue",
    value: function calcValue() {
      var _this$getProgress = this.getProgress(),
          progress = _this$getProgress.progress,
          from = _this$getProgress.from,
          to = _this$getProgress.to; // tween value linearly


      var transformFrom = toNumbers(from.getString());
      var transformTo = toNumbers(to.getString());
      var newValue = transformFrom.map(function (from, i) {
        var to = transformTo[i];
        return from + (to - from) * progress;
      }).join(' ');
      return newValue;
    }
  }]);

  return AnimateTransformElement;
}(AnimateElement);

function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _createSuper$r(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$r()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$r() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FontElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FontElement, _Element);

  var _super = _createSuper$r(FontElement);

  function FontElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FontElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'font';
    _this.glyphs = {};
    _this.horizAdvX = _this.getAttribute('horiz-adv-x').getNumber();
    var definitions = document.definitions;

    var _assertThisInitialize = _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default()(_this),
        children = _assertThisInitialize.children;

    var _iterator = _createForOfIteratorHelper(children),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var child = _step.value;

        switch (child.type) {
          case 'font-face':
            {
              _this.fontFace = child;
              var fontFamilyStyle = child.getStyle('font-family');

              if (fontFamilyStyle.hasValue()) {
                definitions[fontFamilyStyle.getString()] = _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default()(_this);
              }

              break;
            }

          case 'missing-glyph':
            _this.missingGlyph = child;
            break;

          case 'glyph':
            {
              var glyph = child;

              if (glyph.arabicForm) {
                _this.isRTL = true;
                _this.isArabic = true;

                if (typeof _this.glyphs[glyph.unicode] === 'undefined') {
                  _this.glyphs[glyph.unicode] = {};
                }

                _this.glyphs[glyph.unicode][glyph.arabicForm] = glyph;
              } else {
                _this.glyphs[glyph.unicode] = glyph;
              }

              break;
            }

          default:
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FontElement, [{
    key: "render",
    value: function render() {// NO RENDER
    }
  }]);

  return FontElement;
}(Element);

function _createSuper$s(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$s()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$s() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FontFaceElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FontFaceElement, _Element);

  var _super = _createSuper$s(FontFaceElement);

  function FontFaceElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FontFaceElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'font-face';
    _this.ascent = _this.getAttribute('ascent').getNumber();
    _this.descent = _this.getAttribute('descent').getNumber();
    _this.unitsPerEm = _this.getAttribute('units-per-em').getNumber();
    return _this;
  }

  return FontFaceElement;
}(Element);

function _createSuper$t(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$t()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$t() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var MissingGlyphElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(MissingGlyphElement, _PathElement);

  var _super = _createSuper$t(MissingGlyphElement);

  function MissingGlyphElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, MissingGlyphElement);

    _this = _super.apply(this, arguments);
    _this.type = 'missing-glyph';
    _this.horizAdvX = 0;
    return _this;
  }

  return MissingGlyphElement;
}(PathElement);

function _createSuper$u(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$u()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$u() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var GlyphElement = /*#__PURE__*/function (_PathElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(GlyphElement, _PathElement);

  var _super = _createSuper$u(GlyphElement);

  function GlyphElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, GlyphElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'glyph';
    _this.horizAdvX = _this.getAttribute('horiz-adv-x').getNumber();
    _this.unicode = _this.getAttribute('unicode').getString();
    _this.arabicForm = _this.getAttribute('arabic-form').getString();
    return _this;
  }

  return GlyphElement;
}(PathElement);

function _createSuper$v(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$v()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$v() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TRefElement = /*#__PURE__*/function (_TextElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TRefElement, _TextElement);

  var _super = _createSuper$v(TRefElement);

  function TRefElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TRefElement);

    _this = _super.apply(this, arguments);
    _this.type = 'tref';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(TRefElement, [{
    key: "getText",
    value: function getText() {
      var element = this.getHrefAttribute().getDefinition();

      if (element) {
        var firstChild = element.children[0];

        if (firstChild) {
          return firstChild.getText();
        }
      }

      return '';
    }
  }]);

  return TRefElement;
}(TextElement);

function _createSuper$w(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$w()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$w() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var AElement = /*#__PURE__*/function (_TextElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(AElement, _TextElement);

  var _super = _createSuper$w(AElement);

  function AElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, AElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'a';
    var childNodes = node.childNodes;
    var firstChild = childNodes[0];
    var hasText = childNodes.length > 0 && Array.from(childNodes).every(function (node) {
      return node.nodeType === 3;
    });
    _this.hasText = hasText;
    _this.text = hasText ? _this.getTextFromNode(firstChild) : '';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(AElement, [{
    key: "getText",
    value: function getText() {
      return this.text;
    }
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      if (this.hasText) {
        // render as text element
        _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(AElement.prototype), "renderChildren", this).call(this, ctx);

        var document = this.document,
            x = this.x,
            y = this.y;
        var mouse = document.screen.mouse;
        var fontSize = new Property(document, 'fontSize', Font.parse(document.ctx.font).fontSize); // Do not calc bounding box if mouse is not working.

        if (mouse.isWorking()) {
          mouse.checkBoundingBox(this, new BoundingBox(x, y - fontSize.getPixels('y'), x + this.measureText(ctx), y));
        }
      } else if (this.children.length > 0) {
        // render as temporary group
        var g = new GElement(this.document, null);
        g.children = this.children;
        g.parent = this;
        g.render(ctx);
      }
    }
  }, {
    key: "onClick",
    value: function onClick() {
      var window = this.document.window;

      if (window) {
        window.open(this.getHrefAttribute().getString());
      }
    }
  }, {
    key: "onMouseMove",
    value: function onMouseMove() {
      var ctx = this.document.ctx;
      ctx.canvas.style.cursor = 'pointer';
    }
  }]);

  return AElement;
}(TextElement);

function _createForOfIteratorHelper$1(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray$1(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }

function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _createSuper$x(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$x()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$x() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TextPathElement = /*#__PURE__*/function (_TextElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TextPathElement, _TextElement);

  var _super = _createSuper$x(TextPathElement);

  function TextPathElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TextPathElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'textPath';
    _this.textWidth = 0;
    _this.textHeight = 0;
    _this.pathLength = -1;
    _this.glyphInfo = null;
    _this.letterSpacingCache = [];
    _this.measuresCache = new Map([['', 0]]);

    var pathElement = _this.getHrefAttribute().getDefinition();

    _this.text = _this.getTextFromNode();
    _this.dataArray = _this.parsePathData(pathElement);
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(TextPathElement, [{
    key: "getText",
    value: function getText() {
      return this.text;
    }
  }, {
    key: "path",
    value: function path(ctx) {
      var dataArray = this.dataArray;

      if (ctx) {
        ctx.beginPath();
      }

      dataArray.forEach(function (_ref) {
        var command = _ref.command,
            points = _ref.points;

        switch (command) {
          case 'L':
            if (ctx) {
              ctx.lineTo(points[0], points[1]);
            }

            break;

          case 'M':
            if (ctx) {
              ctx.moveTo(points[0], points[1]);
            }

            break;

          case 'C':
            if (ctx) {
              ctx.bezierCurveTo(points[0], points[1], points[2], points[3], points[4], points[5]);
            }

            break;

          case 'Q':
            if (ctx) {
              ctx.quadraticCurveTo(points[0], points[1], points[2], points[3]);
            }

            break;

          case 'A':
            {
              var cx = points[0];
              var cy = points[1];
              var rx = points[2];
              var ry = points[3];
              var theta = points[4];
              var dTheta = points[5];
              var psi = points[6];
              var fs = points[7];
              var r = rx > ry ? rx : ry;
              var scaleX = rx > ry ? 1 : rx / ry;
              var scaleY = rx > ry ? ry / rx : 1;

              if (ctx) {
                ctx.translate(cx, cy);
                ctx.rotate(psi);
                ctx.scale(scaleX, scaleY);
                ctx.arc(0, 0, r, theta, theta + dTheta, Boolean(1 - fs));
                ctx.scale(1 / scaleX, 1 / scaleY);
                ctx.rotate(-psi);
                ctx.translate(-cx, -cy);
              }

              break;
            }

          case 'z':
            if (ctx) {
              ctx.closePath();
            }

            break;
        }
      });
    }
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      this.setTextData(ctx);
      ctx.save();
      var textDecoration = this.parent.getStyle('text-decoration').getString();
      var fontSize = this.getFontSize();
      var glyphInfo = this.glyphInfo;
      var fill = ctx.fillStyle;

      if (textDecoration === 'underline') {
        ctx.beginPath();
      }

      glyphInfo.forEach(function (glyph, i) {
        var p0 = glyph.p0,
            p1 = glyph.p1,
            partialText = glyph.text;
        ctx.save();
        ctx.translate(p0.x, p0.y);
        ctx.rotate(glyphInfo[i].rotation);

        if (ctx.fillStyle) {
          ctx.fillText(partialText, 0, 0);
        }

        if (ctx.strokeStyle) {
          ctx.strokeText(partialText, 0, 0);
        }

        ctx.restore();

        if (textDecoration === 'underline') {
          if (i === 0) {
            ctx.moveTo(p0.x, p0.y + fontSize / 8);
          }

          ctx.lineTo(p1.x, p1.y + fontSize / 5);
        } //// To assist with debugging visually, uncomment following
        //
        // ctx.beginPath();
        // if (i % 2)
        // 	ctx.strokeStyle = 'red';
        // else
        // 	ctx.strokeStyle = 'green';
        // ctx.moveTo(p0.x, p0.y);
        // ctx.lineTo(p1.x, p1.y);
        // ctx.stroke();
        // ctx.closePath();

      });

      if (textDecoration === 'underline') {
        ctx.lineWidth = fontSize / 20;
        ctx.strokeStyle = fill;
        ctx.stroke();
        ctx.closePath();
      }

      ctx.restore();
    }
  }, {
    key: "getLetterSpacingAt",
    value: function getLetterSpacingAt() {
      var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return this.letterSpacingCache[idx] || 0;
    }
  }, {
    key: "findSegmentToFitChar",
    value: function findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, inputOffset, c, charI) {
      var offset = inputOffset;
      var glyphWidth = this.measureText(ctx, c);

      if (c === ' ' && anchor === 'justify' && textFullWidth < fullPathWidth) {
        glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber;
      }

      if (charI > -1) {
        offset += this.getLetterSpacingAt(charI);
      }

      var splineStep = this.textHeight / 20;
      var segment = {
        p0: this.getEquidistantPointOnPath(offset, splineStep),
        p1: this.getEquidistantPointOnPath(offset + glyphWidth, splineStep)
      };
      offset += glyphWidth;
      return {
        offset: offset,
        segment: segment
      };
    }
  }, {
    key: "measureText",
    value: function measureText(ctx, text) {
      var measuresCache = this.measuresCache;
      var targetText = text || this.getText();

      if (measuresCache.has(targetText)) {
        return measuresCache.get(targetText);
      }

      var measure = this.measureTargetText(ctx, targetText);
      measuresCache.set(targetText, measure);
      return measure;
    } // This method supposes what all custom fonts already loaded.
    // If some font will be loaded after this method call, <textPath> will not be rendered correctly.
    // You need to call this method manually to update glyphs cache.

  }, {
    key: "setTextData",
    value: function setTextData(ctx) {
      var _this2 = this;

      if (this.glyphInfo) {
        return;
      }

      var renderText = this.getText();
      var chars = renderText.split('');
      var spacesNumber = renderText.split(' ').length - 1;
      var dx = toNumbers(this.parent.getAttribute('dx').getString('0'));
      var anchor = this.parent.getStyle('text-anchor').getString('start');
      var thisSpacing = this.getStyle('letter-spacing');
      var parentSpacing = this.parent.getStyle('letter-spacing');
      var letterSpacing = 0;

      if (!thisSpacing.hasValue() || thisSpacing.getValue() === 'inherit') {
        letterSpacing = parentSpacing.getPixels();
      } else if (thisSpacing.hasValue()) {
        if (thisSpacing.getValue() !== 'initial' && thisSpacing.getValue() !== 'unset') {
          letterSpacing = thisSpacing.getPixels();
        }
      } // fill letter-spacing cache


      var letterSpacingCache = [];
      var textLen = renderText.length;
      this.letterSpacingCache = letterSpacingCache;

      for (var i = 0; i < textLen; i++) {
        letterSpacingCache.push(typeof dx[i] !== 'undefined' ? dx[i] : letterSpacing);
      }

      var dxSum = letterSpacingCache.reduce(function (acc, cur) {
        return acc + cur || 0;
      }, 0);
      this.textWidth = this.measureText(ctx);
      this.textHeight = this.getFontSize();
      var textFullWidth = Math.max(this.textWidth + dxSum, 0);
      this.glyphInfo = [];
      var fullPathWidth = this.getPathLength();
      var startOffset = this.getStyle('startOffset').getNumber(0) * fullPathWidth;
      var offset = 0;

      if (anchor === 'middle' || anchor === 'center') {
        offset = -textFullWidth / 2;
      }

      if (anchor === 'end' || anchor === 'right') {
        offset = -textFullWidth;
      }

      offset += startOffset;
      chars.forEach(function (char, i) {
        // Find such segment what distance between p0 and p1 is approx. width of glyph
        var _this2$findSegmentToF = _this2.findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, offset, char, i),
            nextOffset = _this2$findSegmentToF.offset,
            segment = _this2$findSegmentToF.segment;

        offset = nextOffset;

        if (!segment.p0 || !segment.p1) {
          return;
        }

        var width = _this2.getLineLength(segment.p0.x, segment.p0.y, segment.p1.x, segment.p1.y); // Note: Since glyphs are rendered one at a time, any kerning pair data built into the font will not be used.
        // Can foresee having a rough pair table built in that the developer can override as needed.
        // Or use "dx" attribute of the <text> node as a naive replacement


        var kern = 0; // placeholder for future implementation

        var midpoint = _this2.getPointOnLine(kern + width / 2.0, segment.p0.x, segment.p0.y, segment.p1.x, segment.p1.y);

        var rotation = Math.atan2(segment.p1.y - segment.p0.y, segment.p1.x - segment.p0.x);

        _this2.glyphInfo.push({
          transposeX: midpoint.x,
          transposeY: midpoint.y,
          text: chars[i],
          p0: segment.p0,
          p1: segment.p1,
          rotation: rotation
        });
      });
    }
  }, {
    key: "parsePathData",
    value: function parsePathData(path) {
      this.pathLength = -1; // reset path length

      if (!path) {
        return [];
      }

      var pathCommands = [];
      var pathParser = path.pathParser;
      pathParser.reset(); // convert l, H, h, V, and v to L

      while (!pathParser.isEnd()) {
        var current = pathParser.current;
        var startX = current ? current.x : 0;
        var startY = current ? current.y : 0;
        var cmd = '';
        var points = [];
        pathParser.nextCommand();
        var upperCommand = pathParser.command.toUpperCase();

        switch (pathParser.command) {
          case 'M':
          case 'm':
            cmd = this.pathM(pathParser, points);
            break;

          case 'L':
          case 'l':
            cmd = this.pathL(pathParser, points);
            break;

          case 'H':
          case 'h':
            cmd = this.pathH(pathParser, points);
            break;

          case 'V':
          case 'v':
            cmd = this.pathV(pathParser, points);
            break;

          case 'C':
          case 'c':
            this.pathC(pathParser, points);
            break;

          case 'S':
          case 's':
            cmd = this.pathS(pathParser, points);
            break;

          case 'Q':
          case 'q':
            this.pathQ(pathParser, points);
            break;

          case 'T':
          case 't':
            cmd = this.pathT(pathParser, points);
            break;

          case 'A':
          case 'a':
            points = this.pathA(pathParser);
            break;

          case 'Z':
          case 'z':
            pathParser.current = pathParser.start;
            break;
        }

        if (upperCommand !== 'Z') {
          pathCommands.push({
            command: cmd || upperCommand,
            points: points,
            start: {
              x: startX,
              y: startY
            },
            pathLength: this.calcLength(startX, startY, cmd || upperCommand, points)
          });
        } else {
          pathCommands.push({
            command: 'z',
            points: [],
            pathLength: 0
          });
        }
      }

      return pathCommands;
    }
  }, {
    key: "pathM",
    value: function pathM(pathParser, points) {
      var p = pathParser.getAsCurrentPoint(); // pathParser.addMarker(p);

      points.push(p.x, p.y);
      pathParser.start = pathParser.current;

      while (!pathParser.isCommandOrEnd()) {
        var _p = pathParser.getAsCurrentPoint();

        points.push(_p.x, _p.y);
        return 'L';
      }
    }
  }, {
    key: "pathL",
    value: function pathL(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var p = pathParser.getAsCurrentPoint();
        points.push(p.x, p.y);
      }

      return 'L';
    }
  }, {
    key: "pathH",
    value: function pathH(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = new Point((pathParser.isRelativeCommand() ? current.x : 0) + pathParser.getScalar(), current.y);
        points.push(point.x, point.y);
        pathParser.current = point;
      }

      return 'L';
    }
  }, {
    key: "pathV",
    value: function pathV(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current;
        var point = new Point(current.x, (pathParser.isRelativeCommand() ? current.y : 0) + pathParser.getScalar());
        points.push(point.x, point.y);
        pathParser.current = point;
      }

      return 'L';
    }
  }, {
    key: "pathC",
    value: function pathC(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var point = pathParser.getPoint();
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
      }
    }
  }, {
    key: "pathS",
    value: function pathS(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var point = pathParser.getReflectedControlPoint();
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
      }

      return 'C';
    }
  }, {
    key: "pathQ",
    value: function pathQ(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var controlPoint = pathParser.getAsControlPoint();
        var currentPoint = pathParser.getAsCurrentPoint();
        points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
      }
    }
  }, {
    key: "pathT",
    value: function pathT(pathParser, points) {
      while (!pathParser.isCommandOrEnd()) {
        var controlPoint = pathParser.getReflectedControlPoint();
        pathParser.control = controlPoint;
        var currentPoint = pathParser.getAsCurrentPoint();
        points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);
      }

      return 'Q';
    }
  }, {
    key: "pathA",
    value: function pathA(pathParser) {
      while (!pathParser.isCommandOrEnd()) {
        var current = pathParser.current; // x1, y1

        var rx = pathParser.getScalar();
        var ry = pathParser.getScalar();
        var xAxisRotation = pathParser.getScalar() * (Math.PI / 180.0); // φ

        var largeArcFlag = pathParser.getScalar(); //  fA

        var sweepFlag = pathParser.getScalar(); //  fS

        var currentPoint = pathParser.getAsCurrentPoint(); // x2, y2
        // Conversion from endpoint to center parameterization
        // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
        // x1', y1'

        var currp = new Point(Math.cos(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.sin(xAxisRotation) * (current.y - currentPoint.y) / 2.0, -Math.sin(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * (current.y - currentPoint.y) / 2.0); // adjust radii

        var l = Math.pow(currp.x, 2) / Math.pow(rx, 2) + Math.pow(currp.y, 2) / Math.pow(ry, 2);

        if (l > 1) {
          rx *= Math.sqrt(l);
          ry *= Math.sqrt(l);
        } // cx', cy'


        var s = (largeArcFlag === sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rx, 2) * Math.pow(ry, 2) - Math.pow(rx, 2) * Math.pow(currp.y, 2) - Math.pow(ry, 2) * Math.pow(currp.x, 2)) / (Math.pow(rx, 2) * Math.pow(currp.y, 2) + Math.pow(ry, 2) * Math.pow(currp.x, 2)));

        if (isNaN(s)) {
          s = 0;
        }

        var cpp = new Point(s * rx * currp.y / ry, s * -ry * currp.x / rx); // cx, cy

        var centp = new Point((current.x + currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (current.y + currentPoint.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y); // initial angle

        var a1 = vectorsAngle([1, 0], [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry]); // θ1
        // angle delta

        var u = [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry];
        var v = [(-currp.x - cpp.x) / rx, (-currp.y - cpp.y) / ry];
        var ad = vectorsAngle(u, v); // Δθ

        if (vectorsRatio(u, v) <= -1) {
          ad = Math.PI;
        }

        if (vectorsRatio(u, v) >= 1) {
          ad = 0;
        }

        if (sweepFlag === 0 && ad > 0) {
          ad = ad - 2 * Math.PI;
        }

        if (sweepFlag === 1 && ad < 0) {
          ad = ad + 2 * Math.PI;
        }

        return [centp.x, centp.y, rx, ry, a1, ad, xAxisRotation, sweepFlag];
      }
    }
  }, {
    key: "calcLength",
    value: function calcLength(x, y, cmd, points) {
      var len = 0;
      var p1 = null;
      var p2 = null;
      var t = 0;

      switch (cmd) {
        case 'L':
          return this.getLineLength(x, y, points[0], points[1]);

        case 'C':
          // Approximates by breaking curve into 100 line segments
          len = 0.0;
          p1 = this.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);

          for (t = 0.01; t <= 1; t += 0.01) {
            p2 = this.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);
            len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);
            p1 = p2;
          }

          return len;

        case 'Q':
          // Approximates by breaking curve into 100 line segments
          len = 0.0;
          p1 = this.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]);

          for (t = 0.01; t <= 1; t += 0.01) {
            p2 = this.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]);
            len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);
            p1 = p2;
          }

          return len;

        case 'A':
          // Approximates by breaking curve into line segments
          len = 0.0;
          var start = points[4]; // 4 = theta

          var dTheta = points[5]; // 5 = dTheta

          var end = points[4] + dTheta;
          var inc = Math.PI / 180.0; // 1 degree resolution

          if (Math.abs(start - end) < inc) {
            inc = Math.abs(start - end);
          } // Note: for purpose of calculating arc length, not going to worry about rotating X-axis by angle psi


          p1 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);

          if (dTheta < 0) {
            // clockwise
            for (t = start - inc; t > end; t -= inc) {
              p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);
              len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);
              p1 = p2;
            }
          } else {
            // counter-clockwise
            for (t = start + inc; t < end; t += inc) {
              p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);
              len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);
              p1 = p2;
            }
          }

          p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);
          len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);
          return len;
      }

      return 0;
    }
  }, {
    key: "getPointOnLine",
    value: function getPointOnLine(dist, P1x, P1y, P2x, P2y) {
      var fromX = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : P1x;
      var fromY = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : P1y;
      var m = (P2y - P1y) / (P2x - P1x + PSEUDO_ZERO);
      var run = Math.sqrt(dist * dist / (1 + m * m));

      if (P2x < P1x) {
        run *= -1;
      }

      var rise = m * run;
      var pt = null;

      if (P2x === P1x) {
        // vertical line
        pt = {
          x: fromX,
          y: fromY + rise
        };
      } else if ((fromY - P1y) / (fromX - P1x + PSEUDO_ZERO) === m) {
        pt = {
          x: fromX + run,
          y: fromY + rise
        };
      } else {
        var ix = 0;
        var iy = 0;
        var len = this.getLineLength(P1x, P1y, P2x, P2y);

        if (len < PSEUDO_ZERO) {
          return null;
        }

        var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y);
        u = u / (len * len);
        ix = P1x + u * (P2x - P1x);
        iy = P1y + u * (P2y - P1y);
        var pRise = this.getLineLength(fromX, fromY, ix, iy);
        var pRun = Math.sqrt(dist * dist - pRise * pRise);
        run = Math.sqrt(pRun * pRun / (1 + m * m));

        if (P2x < P1x) {
          run *= -1;
        }

        rise = m * run;
        pt = {
          x: ix + run,
          y: iy + rise
        };
      }

      return pt;
    }
  }, {
    key: "getPointOnPath",
    value: function getPointOnPath(distance) {
      var fullLen = this.getPathLength();
      var cumulativePathLength = 0;
      var p = null;

      if (distance < -0.00005 || distance - 0.00005 > fullLen) {
        return null;
      }

      var dataArray = this.dataArray;

      var _iterator = _createForOfIteratorHelper$1(dataArray),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var pathCmd = _step.value;

          if (pathCmd && (pathCmd.pathLength < 0.00005 || cumulativePathLength + pathCmd.pathLength + 0.00005 < distance)) {
            cumulativePathLength += pathCmd.pathLength;
            continue;
          }

          var delta = distance - cumulativePathLength;
          var currentT = 0;

          switch (pathCmd.command) {
            case 'L':
              p = this.getPointOnLine(delta, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.start.x, pathCmd.start.y);
              break;

            case 'A':
              var start = pathCmd.points[4]; // 4 = theta

              var dTheta = pathCmd.points[5]; // 5 = dTheta

              var end = pathCmd.points[4] + dTheta;
              currentT = start + delta / pathCmd.pathLength * dTheta;

              if (dTheta < 0 && currentT < end || dTheta >= 0 && currentT > end) {
                break;
              }

              p = this.getPointOnEllipticalArc(pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], currentT, pathCmd.points[6]);
              break;

            case 'C':
              currentT = delta / pathCmd.pathLength;

              if (currentT > 1) {
                currentT = 1;
              }

              p = this.getPointOnCubicBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], pathCmd.points[4], pathCmd.points[5]);
              break;

            case 'Q':
              currentT = delta / pathCmd.pathLength;

              if (currentT > 1) {
                currentT = 1;
              }

              p = this.getPointOnQuadraticBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3]);
              break;

            default:
          }

          if (p) {
            return p;
          }

          break;
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      return null;
    }
  }, {
    key: "getLineLength",
    value: function getLineLength(x1, y1, x2, y2) {
      return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    }
  }, {
    key: "getPathLength",
    value: function getPathLength() {
      if (this.pathLength === -1) {
        this.pathLength = this.dataArray.reduce(function (length, command) {
          return command.pathLength > 0 ? length + command.pathLength : length;
        }, 0);
      }

      return this.pathLength;
    }
  }, {
    key: "getPointOnCubicBezier",
    value: function getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {
      var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);
      var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);
      return {
        x: x,
        y: y
      };
    }
  }, {
    key: "getPointOnQuadraticBezier",
    value: function getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {
      var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);
      var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);
      return {
        x: x,
        y: y
      };
    }
  }, {
    key: "getPointOnEllipticalArc",
    value: function getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {
      var cosPsi = Math.cos(psi);
      var sinPsi = Math.sin(psi);
      var pt = {
        x: rx * Math.cos(theta),
        y: ry * Math.sin(theta)
      };
      return {
        x: cx + (pt.x * cosPsi - pt.y * sinPsi),
        y: cy + (pt.x * sinPsi + pt.y * cosPsi)
      };
    } // TODO need some optimisations. possibly build cache only for curved segments?

  }, {
    key: "buildEquidistantCache",
    value: function buildEquidistantCache(inputStep, inputPrecision) {
      var fullLen = this.getPathLength();
      var precision = inputPrecision || 0.25; // accuracy vs performance

      var step = inputStep || fullLen / 100;

      if (!this.equidistantCache || this.equidistantCache.step !== step || this.equidistantCache.precision !== precision) {
        // Prepare cache
        this.equidistantCache = {
          step: step,
          precision: precision,
          points: []
        }; // Calculate points

        var s = 0;

        for (var l = 0; l <= fullLen; l += precision) {
          var p0 = this.getPointOnPath(l);
          var p1 = this.getPointOnPath(l + precision);

          if (!p0 || !p1) {
            continue;
          }

          s += this.getLineLength(p0.x, p0.y, p1.x, p1.y);

          if (s >= step) {
            this.equidistantCache.points.push({
              x: p0.x,
              y: p0.y,
              distance: l
            });
            s -= step;
          }
        }
      }
    }
  }, {
    key: "getEquidistantPointOnPath",
    value: function getEquidistantPointOnPath(targetDistance, step, precision) {
      this.buildEquidistantCache(step, precision);

      if (targetDistance < 0 || targetDistance - this.getPathLength() > 0.00005) {
        return null;
      }

      var idx = Math.round(targetDistance / this.getPathLength() * (this.equidistantCache.points.length - 1));
      return this.equidistantCache.points[idx] || null;
    }
  }]);

  return TextPathElement;
}(TextElement);

function _createSuper$y(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$y()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$y() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var ImageElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(ImageElement, _RenderedElement);

  var _super = _createSuper$y(ImageElement);

  function ImageElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, ImageElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'image';
    _this.loaded = false;

    var href = _this.getHrefAttribute().getString();

    if (!href) {
      return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(_this);
    }

    var isSvg = /\.svg$/.test(href);
    document.images.push(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_46___default()(_this));

    if (!isSvg) {
      _this.loadImage(href);
    } else {
      _this.loadSvg(href);
    }

    _this.isSvg = isSvg;
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(ImageElement, [{
    key: "loadImage",
    value: function () {
      var _loadImage = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee(href) {
        var image;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return this.document.createImage(href);

              case 3:
                image = _context.sent;
                this.image = image;
                _context.next = 10;
                break;

              case 7:
                _context.prev = 7;
                _context.t0 = _context["catch"](0);
                // tslint:disable-next-line: no-console
                console.error("Error while loading image \"".concat(href, "\":"), _context.t0);

              case 10:
                this.loaded = true;

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[0, 7]]);
      }));

      function loadImage(_x) {
        return _loadImage.apply(this, arguments);
      }

      return loadImage;
    }()
  }, {
    key: "loadSvg",
    value: function () {
      var _loadSvg = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee2(href) {
        var response, svg;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return this.document.fetch(href);

              case 3:
                response = _context2.sent;
                _context2.next = 6;
                return response.text();

              case 6:
                svg = _context2.sent;
                this.image = svg;
                _context2.next = 13;
                break;

              case 10:
                _context2.prev = 10;
                _context2.t0 = _context2["catch"](0);
                // tslint:disable-next-line: no-console
                console.error("Error while loading image \"".concat(href, "\":"), _context2.t0);

              case 13:
                this.loaded = true;

              case 14:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this, [[0, 10]]);
      }));

      function loadSvg(_x2) {
        return _loadSvg.apply(this, arguments);
      }

      return loadSvg;
    }()
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      var document = this.document,
          image = this.image,
          loaded = this.loaded;
      var x = this.getAttribute('x').getPixels('x');
      var y = this.getAttribute('y').getPixels('y');
      var width = this.getStyle('width').getPixels('x');
      var height = this.getStyle('height').getPixels('y');

      if (!loaded || !image || !width || !height) {
        return;
      }

      ctx.save();

      if (this.isSvg) {
        document.canvg.forkString(ctx, this.image, {
          ignoreMouse: true,
          ignoreAnimation: true,
          ignoreDimensions: true,
          ignoreClear: true,
          offsetX: x,
          offsetY: y,
          scaleWidth: width,
          scaleHeight: height
        }).render();
      } else {
        var _image = this.image;
        ctx.translate(x, y);
        document.setViewBox({
          ctx: ctx,
          aspectRatio: this.getAttribute('preserveAspectRatio').getString(),
          width: width,
          desiredWidth: _image.width,
          height: height,
          desiredHeight: _image.height
        });

        if (this.loaded) {
          if (typeof _image.complete === 'undefined' || _image.complete) {
            ctx.drawImage(_image, 0, 0);
          }
        }
      }

      ctx.restore();
    }
  }, {
    key: "getBoundingBox",
    value: function getBoundingBox() {
      var x = this.getAttribute('x').getPixels('x');
      var y = this.getAttribute('y').getPixels('y');
      var width = this.getStyle('width').getPixels('x');
      var height = this.getStyle('height').getPixels('y');
      return new BoundingBox(x, y, x + width, y + height);
    }
  }]);

  return ImageElement;
}(RenderedElement);

function _createSuper$z(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$z()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$z() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var SymbolElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(SymbolElement, _RenderedElement);

  var _super = _createSuper$z(SymbolElement);

  function SymbolElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, SymbolElement);

    _this = _super.apply(this, arguments);
    _this.type = 'symbol';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(SymbolElement, [{
    key: "render",
    value: function render(_) {// NO RENDER
    }
  }]);

  return SymbolElement;
}(RenderedElement);

var SVGFontLoader = /*#__PURE__*/function () {
  function SVGFontLoader(document) {
    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, SVGFontLoader);

    this.document = document;
    this.loaded = false;
    document.fonts.push(this);
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(SVGFontLoader, [{
    key: "load",
    value: function () {
      var _load = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee(fontFamily, url) {
        var document, svgDocument, fonts;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                document = this.document;
                _context.next = 4;
                return document.canvg.parser.load(url);

              case 4:
                svgDocument = _context.sent;
                fonts = svgDocument.getElementsByTagName('font');
                Array.from(fonts).forEach(function (fontNode) {
                  var font = document.createElement(fontNode);
                  document.definitions[fontFamily] = font;
                });
                _context.next = 12;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](0);
                // tslint:disable-next-line: no-console
                console.error("Error while loading font \"".concat(url, "\":"), _context.t0);

              case 12:
                this.loaded = true;

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[0, 9]]);
      }));

      function load(_x, _x2) {
        return _load.apply(this, arguments);
      }

      return load;
    }()
  }]);

  return SVGFontLoader;
}();

function _createSuper$A(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$A()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$A() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var StyleElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(StyleElement, _Element);

  var _super = _createSuper$A(StyleElement);

  function StyleElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, StyleElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'style';
    var css = compressSpaces(Array.from(node.childNodes).map(function (_) {
      return _.data;
    }).join('').replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, '') // remove comments
    .replace(/@import.*;/g, '') // remove imports
    );
    var cssDefs = css.split('}');
    cssDefs.forEach(function (_) {
      var def = _.trim();

      if (!def) {
        return;
      }

      var cssParts = def.split('{');
      var cssClasses = cssParts[0].split(',');
      var cssProps = cssParts[1].split(';');
      cssClasses.forEach(function (_) {
        var cssClass = _.trim();

        if (!cssClass) {
          return;
        }

        var props = document.styles[cssClass] || {};
        cssProps.forEach(function (cssProp) {
          var prop = cssProp.indexOf(':');
          var name = cssProp.substr(0, prop).trim();
          var value = cssProp.substr(prop + 1, cssProp.length - prop).trim();

          if (name && value) {
            props[name] = new Property(document, name, value);
          }
        });
        document.styles[cssClass] = props;
        document.stylesSpecificity[cssClass] = getSelectorSpecificity(cssClass);

        if (cssClass === '@font-face') {
          //  && !nodeEnv
          var fontFamily = props['font-family'].getString().replace(/"|'/g, '');
          var srcs = props.src.getString().split(',');
          srcs.forEach(function (src) {
            if (src.indexOf('format("svg")') > 0) {
              var url = parseExternalUrl(src);

              if (url) {
                new SVGFontLoader(document).load(fontFamily, url);
              }
            }
          });
        }
      });
    });
    return _this;
  }

  return StyleElement;
}(Element);
StyleElement.parseExternalUrl = parseExternalUrl;

function _createSuper$B(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$B()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$B() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var UseElement = /*#__PURE__*/function (_RenderedElement) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(UseElement, _RenderedElement);

  var _super = _createSuper$B(UseElement);

  function UseElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, UseElement);

    _this = _super.apply(this, arguments);
    _this.type = 'use';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(UseElement, [{
    key: "setContext",
    value: function setContext(ctx) {
      _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_42___default()(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(UseElement.prototype), "setContext", this).call(this, ctx);

      var xAttr = this.getAttribute('x');
      var yAttr = this.getAttribute('y');

      if (xAttr.hasValue()) {
        ctx.translate(xAttr.getPixels('x'), 0);
      }

      if (yAttr.hasValue()) {
        ctx.translate(0, yAttr.getPixels('y'));
      }
    }
  }, {
    key: "path",
    value: function path(ctx) {
      var element = this.element;

      if (element) {
        element.path(ctx);
      }
    }
  }, {
    key: "renderChildren",
    value: function renderChildren(ctx) {
      var document = this.document,
          element = this.element;

      if (element) {
        var tempSvg = element;

        if (element.type === 'symbol') {
          // render me using a temporary svg element in symbol cases (http://www.w3.org/TR/SVG/struct.html#UseElement)
          tempSvg = new SVGElement(document, null);
          tempSvg.attributes.viewBox = new Property(document, 'viewBox', element.getAttribute('viewBox').getString());
          tempSvg.attributes.preserveAspectRatio = new Property(document, 'preserveAspectRatio', element.getAttribute('preserveAspectRatio').getString());
          tempSvg.attributes.overflow = new Property(document, 'overflow', element.getAttribute('overflow').getString());
          tempSvg.children = element.children;
        }

        if (tempSvg.type === 'svg') {
          var widthStyle = this.getStyle('width', false, true);
          var heightStyle = this.getStyle('height', false, true); // if symbol or svg, inherit width/height from me

          if (widthStyle.hasValue()) {
            tempSvg.attributes.width = new Property(document, 'width', widthStyle.getString());
          }

          if (heightStyle.hasValue()) {
            tempSvg.attributes.height = new Property(document, 'height', heightStyle.getString());
          }
        }

        var oldParent = tempSvg.parent;
        tempSvg.parent = this;
        tempSvg.render(ctx);
        tempSvg.parent = oldParent;
      }
    }
  }, {
    key: "getBoundingBox",
    value: function getBoundingBox(ctx) {
      var element = this.element;

      if (element) {
        return element.getBoundingBox(ctx);
      }

      return null;
    }
  }, {
    key: "elementTransform",
    value: function elementTransform() {
      var document = this.document,
          element = this.element;
      return Transform.fromElement(document, element);
    }
  }, {
    key: "element",
    get: function get() {
      if (!this._element) {
        this._element = this.getHrefAttribute().getDefinition();
      }

      return this._element;
    }
  }]);

  return UseElement;
}(RenderedElement);

function _createSuper$C(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$C()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$C() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function imGet(img, x, y, width, _, rgba) {
  return img[y * width * 4 + x * 4 + rgba];
}

function imSet(img, x, y, width, _, rgba, val) {
  img[y * width * 4 + x * 4 + rgba] = val;
}

function m(matrix, i, v) {
  var mi = matrix[i];
  return mi * (mi < 0 ? v - 255 : v);
}

function c(a, m1, m2, m3) {
  return m1 + Math.cos(a) * m2 + Math.sin(a) * m3;
}

var FeColorMatrixElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FeColorMatrixElement, _Element);

  var _super = _createSuper$C(FeColorMatrixElement);

  function FeColorMatrixElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FeColorMatrixElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'feColorMatrix';
    var matrix = toNumbers(_this.getAttribute('values').getString());

    switch (_this.getAttribute('type').getString('matrix')) {
      // http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement
      case 'saturate':
        {
          var s = matrix[0];
          matrix = [0.213 + 0.787 * s, 0.715 - 0.715 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 + 0.285 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 - 0.715 * s, 0.072 + 0.928 * s, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
          break;
        }

      case 'hueRotate':
        {
          var a = matrix[0] * Math.PI / 180.0;
          matrix = [c(a, 0.213, 0.787, -0.213), c(a, 0.715, -0.715, -0.715), c(a, 0.072, -0.072, 0.928), 0, 0, c(a, 0.213, -0.213, 0.143), c(a, 0.715, 0.285, 0.140), c(a, 0.072, -0.072, -0.283), 0, 0, c(a, 0.213, -0.213, -0.787), c(a, 0.715, -0.715, 0.715), c(a, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
          break;
        }

      case 'luminanceToAlpha':
        matrix = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1];
        break;
    }

    _this.matrix = matrix;
    _this.includeOpacity = _this.getAttribute('includeOpacity').hasValue();
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FeColorMatrixElement, [{
    key: "apply",
    value: function apply(ctx, _, __, width, height) {
      // assuming x==0 && y==0 for now
      var includeOpacity = this.includeOpacity,
          matrix = this.matrix;
      var srcData = ctx.getImageData(0, 0, width, height);

      for (var y = 0; y < height; y++) {
        for (var x = 0; x < width; x++) {
          var r = imGet(srcData.data, x, y, width, height, 0);
          var g = imGet(srcData.data, x, y, width, height, 1);
          var b = imGet(srcData.data, x, y, width, height, 2);
          var a = imGet(srcData.data, x, y, width, height, 3);
          var nr = m(matrix, 0, r) + m(matrix, 1, g) + m(matrix, 2, b) + m(matrix, 3, a) + m(matrix, 4, 1);
          var ng = m(matrix, 5, r) + m(matrix, 6, g) + m(matrix, 7, b) + m(matrix, 8, a) + m(matrix, 9, 1);
          var nb = m(matrix, 10, r) + m(matrix, 11, g) + m(matrix, 12, b) + m(matrix, 13, a) + m(matrix, 14, 1);
          var na = m(matrix, 15, r) + m(matrix, 16, g) + m(matrix, 17, b) + m(matrix, 18, a) + m(matrix, 19, 1);

          if (includeOpacity) {
            nr = ng = nb = 0;
            na *= a / 255;
          }

          imSet(srcData.data, x, y, width, height, 0, nr);
          imSet(srcData.data, x, y, width, height, 1, ng);
          imSet(srcData.data, x, y, width, height, 2, nb);
          imSet(srcData.data, x, y, width, height, 3, na);
        }
      }

      ctx.clearRect(0, 0, width, height);
      ctx.putImageData(srcData, 0, 0);
    }
  }]);

  return FeColorMatrixElement;
}(Element);

function _createSuper$D(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$D()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$D() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var MaskElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(MaskElement, _Element);

  var _super = _createSuper$D(MaskElement);

  function MaskElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, MaskElement);

    _this = _super.apply(this, arguments);
    _this.type = 'mask';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(MaskElement, [{
    key: "apply",
    value: function apply(ctx, element) {
      var document = this.document; // render as temp svg

      var x = this.getAttribute('x').getPixels('x');
      var y = this.getAttribute('y').getPixels('y');
      var width = this.getStyle('width').getPixels('x');
      var height = this.getStyle('height').getPixels('y');

      if (!width && !height) {
        var boundingBox = new BoundingBox();
        this.children.forEach(function (child) {
          boundingBox.addBoundingBox(child.getBoundingBox(ctx));
        });
        x = Math.floor(boundingBox.x1);
        y = Math.floor(boundingBox.y1);
        width = Math.floor(boundingBox.width);
        height = Math.floor(boundingBox.height);
      }

      var ignoredStyles = this.removeStyles(element, MaskElement.ignoreStyles);
      var maskCanvas = document.createCanvas(x + width, y + height);
      var maskCtx = maskCanvas.getContext('2d');
      document.screen.setDefaults(maskCtx);
      this.renderChildren(maskCtx); // convert mask to alpha with a fake node
      // TODO: refactor out apply from feColorMatrix

      new FeColorMatrixElement(document, {
        nodeType: 1,
        childNodes: [],
        attributes: [{
          nodeName: 'type',
          value: 'luminanceToAlpha'
        }, {
          nodeName: 'includeOpacity',
          value: 'true'
        }]
      }).apply(maskCtx, 0, 0, x + width, y + height);
      var tmpCanvas = document.createCanvas(x + width, y + height);
      var tmpCtx = tmpCanvas.getContext('2d');
      document.screen.setDefaults(tmpCtx);
      element.render(tmpCtx);
      tmpCtx.globalCompositeOperation = 'destination-in';
      tmpCtx.fillStyle = maskCtx.createPattern(maskCanvas, 'no-repeat');
      tmpCtx.fillRect(0, 0, x + width, y + height);
      ctx.fillStyle = tmpCtx.createPattern(tmpCanvas, 'no-repeat');
      ctx.fillRect(0, 0, x + width, y + height); // reassign mask

      this.restoreStyles(element, ignoredStyles);
    }
  }, {
    key: "render",
    value: function render(_) {// NO RENDER
    }
  }]);

  return MaskElement;
}(Element);
MaskElement.ignoreStyles = ['mask', 'transform', 'clip-path'];

function _createSuper$E(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$E()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$E() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var noop = function noop() {};

var ClipPathElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(ClipPathElement, _Element);

  var _super = _createSuper$E(ClipPathElement);

  function ClipPathElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, ClipPathElement);

    _this = _super.apply(this, arguments);
    _this.type = 'clipPath';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(ClipPathElement, [{
    key: "apply",
    value: function apply(ctx) {
      var document = this.document;
      var contextProto = Reflect.getPrototypeOf(ctx);
      var beginPath = ctx.beginPath,
          closePath = ctx.closePath;

      if (contextProto) {
        contextProto.beginPath = noop;
        contextProto.closePath = noop;
      }

      Reflect.apply(beginPath, ctx, []);
      this.children.forEach(function (child) {
        if (typeof child.path === 'undefined') {
          return;
        }

        var transform = typeof child.elementTransform !== 'undefined' ? child.elementTransform() : null; // handle <use />

        if (!transform) {
          transform = Transform.fromElement(document, child);
        }

        if (transform) {
          transform.apply(ctx);
        }

        child.path(ctx);

        if (contextProto) {
          contextProto.closePath = closePath;
        }

        if (transform) {
          transform.unapply(ctx);
        }
      });
      Reflect.apply(closePath, ctx, []);
      ctx.clip();

      if (contextProto) {
        contextProto.beginPath = beginPath;
        contextProto.closePath = closePath;
      }
    }
  }, {
    key: "render",
    value: function render(_) {// NO RENDER
    }
  }]);

  return ClipPathElement;
}(Element);

function _createSuper$F(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$F()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$F() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FilterElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FilterElement, _Element);

  var _super = _createSuper$F(FilterElement);

  function FilterElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FilterElement);

    _this = _super.apply(this, arguments);
    _this.type = 'filter';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FilterElement, [{
    key: "apply",
    value: function apply(ctx, element) {
      // render as temp svg
      var document = this.document,
          children = this.children;
      var boundingBox = element.getBoundingBox(ctx);

      if (!boundingBox) {
        return;
      }

      var px = 0;
      var py = 0;
      children.forEach(function (child) {
        var efd = child.extraFilterDistance || 0;
        px = Math.max(px, efd);
        py = Math.max(py, efd);
      });
      var width = Math.floor(boundingBox.width);
      var height = Math.floor(boundingBox.height);
      var tmpCanvasWidth = width + 2 * px;
      var tmpCanvasHeight = height + 2 * py;

      if (tmpCanvasWidth < 1 || tmpCanvasHeight < 1) {
        return;
      }

      var x = Math.floor(boundingBox.x);
      var y = Math.floor(boundingBox.y);
      var ignoredStyles = this.removeStyles(element, FilterElement.ignoreStyles);
      var tmpCanvas = document.createCanvas(tmpCanvasWidth, tmpCanvasHeight);
      var tmpCtx = tmpCanvas.getContext('2d');
      document.screen.setDefaults(tmpCtx);
      tmpCtx.translate(-x + px, -y + py);
      element.render(tmpCtx); // apply filters

      children.forEach(function (child) {
        if (typeof child.apply === 'function') {
          child.apply(tmpCtx, 0, 0, tmpCanvasWidth, tmpCanvasHeight);
        }
      }); // render on me

      ctx.drawImage(tmpCanvas, 0, 0, tmpCanvasWidth, tmpCanvasHeight, x - px, y - py, tmpCanvasWidth, tmpCanvasHeight);
      this.restoreStyles(element, ignoredStyles);
    }
  }, {
    key: "render",
    value: function render(_) {// NO RENDER
    }
  }]);

  return FilterElement;
}(Element);
FilterElement.ignoreStyles = ['filter', 'transform', 'clip-path'];

function _createSuper$G(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$G()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$G() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FeDropShadowElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FeDropShadowElement, _Element);

  var _super = _createSuper$G(FeDropShadowElement);

  function FeDropShadowElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FeDropShadowElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'feDropShadow';

    _this.addStylesFromStyleDefinition();

    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FeDropShadowElement, [{
    key: "apply",
    value: function apply(_, __, ___, ____, _____) {// TODO: implement
    }
  }]);

  return FeDropShadowElement;
}(Element);

function _createSuper$H(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$H()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$H() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FeMorphologyElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FeMorphologyElement, _Element);

  var _super = _createSuper$H(FeMorphologyElement);

  function FeMorphologyElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FeMorphologyElement);

    _this = _super.apply(this, arguments);
    _this.type = 'feMorphology';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FeMorphologyElement, [{
    key: "apply",
    value: function apply(_, __, ___, ____, _____) {// TODO: implement
    }
  }]);

  return FeMorphologyElement;
}(Element);

function _createSuper$I(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$I()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$I() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FeCompositeElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FeCompositeElement, _Element);

  var _super = _createSuper$I(FeCompositeElement);

  function FeCompositeElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FeCompositeElement);

    _this = _super.apply(this, arguments);
    _this.type = 'feComposite';
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FeCompositeElement, [{
    key: "apply",
    value: function apply(_, __, ___, ____, _____) {// TODO: implement
    }
  }]);

  return FeCompositeElement;
}(Element);

function _createSuper$J(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$J()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$J() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var FeGaussianBlurElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(FeGaussianBlurElement, _Element);

  var _super = _createSuper$J(FeGaussianBlurElement);

  function FeGaussianBlurElement(document, node, captureTextNodes) {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, FeGaussianBlurElement);

    _this = _super.call(this, document, node, captureTextNodes);
    _this.type = 'feGaussianBlur';
    _this.blurRadius = Math.floor(_this.getAttribute('stdDeviation').getNumber());
    _this.extraFilterDistance = _this.blurRadius;
    return _this;
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(FeGaussianBlurElement, [{
    key: "apply",
    value: function apply(ctx, x, y, width, height) {
      var document = this.document,
          blurRadius = this.blurRadius;
      var body = document.window ? document.window.document.body : null;
      var canvas = ctx.canvas; // StackBlur requires canvas be on document

      canvas.id = document.getUniqueId();

      if (body) {
        canvas.style.display = 'none';
        body.appendChild(canvas);
      }

      Object(stackblur_canvas__WEBPACK_IMPORTED_MODULE_55__[/* canvasRGBA */ "a"])(canvas, x, y, width, height, blurRadius);

      if (body) {
        body.removeChild(canvas);
      }
    }
  }]);

  return FeGaussianBlurElement;
}(Element);

function _createSuper$K(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$K()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$K() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var TitleElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(TitleElement, _Element);

  var _super = _createSuper$K(TitleElement);

  function TitleElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, TitleElement);

    _this = _super.apply(this, arguments);
    _this.type = 'title';
    return _this;
  }

  return TitleElement;
}(Element);

function _createSuper$L(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(Derived), result; if (_isNativeReflectConstruct$L()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_31___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_30___default()(this, result); }; }

function _isNativeReflectConstruct$L() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

var DescElement = /*#__PURE__*/function (_Element) {
  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_32___default()(DescElement, _Element);

  var _super = _createSuper$L(DescElement);

  function DescElement() {
    var _this;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, DescElement);

    _this = _super.apply(this, arguments);
    _this.type = 'desc';
    return _this;
  }

  return DescElement;
}(Element);

var elementTypes = {
  'svg': SVGElement,
  'rect': RectElement,
  'circle': CircleElement,
  'ellipse': EllipseElement,
  'line': LineElement,
  'polyline': PolylineElement,
  'polygon': PolygonElement,
  'path': PathElement,
  'pattern': PatternElement,
  'marker': MarkerElement,
  'defs': DefsElement,
  'linearGradient': LinearGradientElement,
  'radialGradient': RadialGradientElement,
  'stop': StopElement,
  'animate': AnimateElement,
  'animateColor': AnimateColorElement,
  'animateTransform': AnimateTransformElement,
  'font': FontElement,
  'font-face': FontFaceElement,
  'missing-glyph': MissingGlyphElement,
  'glyph': GlyphElement,
  'text': TextElement,
  'tspan': TSpanElement,
  'tref': TRefElement,
  'a': AElement,
  'textPath': TextPathElement,
  'image': ImageElement,
  'g': GElement,
  'symbol': SymbolElement,
  'style': StyleElement,
  'use': UseElement,
  'mask': MaskElement,
  'clipPath': ClipPathElement,
  'filter': FilterElement,
  'feDropShadow': FeDropShadowElement,
  'feMorphology': FeMorphologyElement,
  'feComposite': FeCompositeElement,
  'feColorMatrix': FeColorMatrixElement,
  'feGaussianBlur': FeGaussianBlurElement,
  'title': TitleElement,
  'desc': DescElement
};

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

function createCanvas(width, height) {
  var canvas = document.createElement('canvas');
  canvas.width = width;
  canvas.height = height;
  return canvas;
}

function createImage(_x) {
  return _createImage.apply(this, arguments);
}

function _createImage() {
  _createImage = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee(src) {
    var anonymousCrossOrigin,
        image,
        _args = arguments;
    return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            anonymousCrossOrigin = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
            image = document.createElement('img');

            if (anonymousCrossOrigin) {
              image.crossOrigin = 'Anonymous';
            }

            return _context.abrupt("return", new Promise(function (resolve, reject) {
              image.onload = function () {
                resolve(image);
              };

              image.onerror = function () {
                reject();
              };

              image.src = src;
            }));

          case 4:
          case "end":
            return _context.stop();
        }
      }
    }, _callee);
  }));
  return _createImage.apply(this, arguments);
}

var Document = /*#__PURE__*/function () {
  function Document(canvg) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        _ref$rootEmSize = _ref.rootEmSize,
        rootEmSize = _ref$rootEmSize === void 0 ? 12 : _ref$rootEmSize,
        _ref$emSize = _ref.emSize,
        emSize = _ref$emSize === void 0 ? 12 : _ref$emSize,
        _ref$createCanvas = _ref.createCanvas,
        createCanvas = _ref$createCanvas === void 0 ? Document.createCanvas : _ref$createCanvas,
        _ref$createImage = _ref.createImage,
        createImage = _ref$createImage === void 0 ? Document.createImage : _ref$createImage,
        anonymousCrossOrigin = _ref.anonymousCrossOrigin;

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Document);

    this.canvg = canvg;
    this.definitions = {};
    this.styles = {};
    this.stylesSpecificity = {};
    this.images = [];
    this.fonts = [];
    this.emSizeStack = [];
    this.uniqueId = 0;
    this.screen = canvg.screen;
    this.rootEmSize = rootEmSize;
    this.emSize = emSize;
    this.createCanvas = createCanvas;
    this.createImage = this.bindCreateImage(createImage, anonymousCrossOrigin);
    this.screen.wait(this.isImagesLoaded.bind(this));
    this.screen.wait(this.isFontsLoaded.bind(this));
  }

  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Document, [{
    key: "bindCreateImage",
    value: function bindCreateImage(createImage, anonymousCrossOrigin) {
      if (typeof anonymousCrossOrigin === 'boolean') {
        return function (source, forceAnonymousCrossOrigin) {
          return createImage(source, typeof forceAnonymousCrossOrigin === 'boolean' ? forceAnonymousCrossOrigin : anonymousCrossOrigin);
        };
      }

      return createImage;
    }
  }, {
    key: "popEmSize",
    value: function popEmSize() {
      var emSizeStack = this.emSizeStack;
      emSizeStack.pop();
    }
  }, {
    key: "getUniqueId",
    value: function getUniqueId() {
      return "canvg".concat(++this.uniqueId);
    }
  }, {
    key: "isImagesLoaded",
    value: function isImagesLoaded() {
      return this.images.every(function (_) {
        return _.loaded;
      });
    }
  }, {
    key: "isFontsLoaded",
    value: function isFontsLoaded() {
      return this.fonts.every(function (_) {
        return _.loaded;
      });
    }
  }, {
    key: "createDocumentElement",
    value: function createDocumentElement(document) {
      var documentElement = this.createElement(document.documentElement);
      documentElement.root = true;
      documentElement.addStylesFromStyleDefinition();
      this.documentElement = documentElement;
      return documentElement;
    }
  }, {
    key: "createElement",
    value: function createElement(node) {
      var elementType = node.nodeName.replace(/^[^:]+:/, '');
      var ElementType = Document.elementTypes[elementType];

      if (typeof ElementType !== 'undefined') {
        return new ElementType(this, node);
      }

      return new UnknownElement(this, node);
    }
  }, {
    key: "createTextNode",
    value: function createTextNode(node) {
      return new TextNode(this, node);
    }
  }, {
    key: "setViewBox",
    value: function setViewBox(config) {
      this.screen.setViewBox(_objectSpread({
        document: this
      }, config));
    }
  }, {
    key: "window",
    get: function get() {
      return this.screen.window;
    }
  }, {
    key: "fetch",
    get: function get() {
      return this.screen.fetch;
    }
  }, {
    key: "ctx",
    get: function get() {
      return this.screen.ctx;
    }
  }, {
    key: "emSize",
    get: function get() {
      var emSizeStack = this.emSizeStack;
      return emSizeStack[emSizeStack.length - 1];
    },
    set: function set(value) {
      var emSizeStack = this.emSizeStack;
      emSizeStack.push(value);
    }
  }]);

  return Document;
}();
Document.createCanvas = createCanvas;
Document.createImage = createImage;
Document.elementTypes = elementTypes;

function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }

function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
/**
 * SVG renderer on canvas.
 */

var Canvg = /*#__PURE__*/function () {
  /**
   * Main constructor.
   * @param ctx - Rendering context.
   * @param svg - SVG Document.
   * @param options - Rendering options.
   */
  function Canvg(ctx, svg) {
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_17___default()(this, Canvg);

    this.parser = new Parser(options);
    this.screen = new Screen(ctx, options);
    this.options = options;
    var document = new Document(this, options);
    var documentElement = document.createDocumentElement(svg);
    this.document = document;
    this.documentElement = documentElement;
  }
  /**
   * Create Canvg isntance from SVG source string or URL.
   * @param ctx - Rendering context.
   * @param svg - SVG source string or URL.
   * @param options - Rendering options.
   */


  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_18___default()(Canvg, [{
    key: "fork",

    /**
     * Create new Canvg instance with inherited options.
     * @param ctx - Rendering context.
     * @param svg - SVG source string or URL.
     * @param options - Rendering options.
     */
    value: function fork(ctx, svg) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      return Canvg.from(ctx, svg, _objectSpread$1({}, this.options, {}, options));
    }
    /**
     * Create new Canvg instance with inherited options.
     * @param ctx - Rendering context.
     * @param svg - SVG source string.
     * @param options - Rendering options.
     */

  }, {
    key: "forkString",
    value: function forkString(ctx, svg) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      return Canvg.fromString(ctx, svg, _objectSpread$1({}, this.options, {}, options));
    }
    /**
     * Document is ready promise.
     */

  }, {
    key: "ready",
    value: function ready() {
      return this.screen.ready();
    }
    /**
     * Document is ready value.
     */

  }, {
    key: "isReady",
    value: function isReady() {
      return this.screen.isReady();
    }
    /**
     * Render only first frame, ignoring animations and mouse.
     * @param options - Rendering options.
     */

  }, {
    key: "render",
    value: function () {
      var _render = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee() {
        var options,
            _args = arguments;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                this.start(_objectSpread$1({
                  enableRedraw: true,
                  ignoreAnimation: true,
                  ignoreMouse: true
                }, options));
                _context.next = 4;
                return this.ready();

              case 4:
                this.stop();

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function render() {
        return _render.apply(this, arguments);
      }

      return render;
    }()
    /**
     * Start rendering.
     * @param options - Render options.
     */

  }, {
    key: "start",
    value: function start() {
      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var documentElement = this.documentElement,
          screen = this.screen,
          baseOptions = this.options;
      screen.start(documentElement, _objectSpread$1({
        enableRedraw: true
      }, baseOptions, {}, options));
    }
    /**
     * Stop rendering.
     */

  }, {
    key: "stop",
    value: function stop() {
      this.screen.stop();
    }
    /**
     * Resize SVG to fit in given size.
     * @param width
     * @param height
     * @param preserveAspectRatio
     */

  }, {
    key: "resize",
    value: function resize(width) {
      var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;
      var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      this.documentElement.resize(width, height, preserveAspectRatio);
    }
  }], [{
    key: "from",
    value: function () {
      var _from = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee2(ctx, svg) {
        var options,
            parser,
            svgDocument,
            _args2 = arguments;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                options = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
                parser = new Parser(options);
                _context2.next = 4;
                return parser.parse(svg);

              case 4:
                svgDocument = _context2.sent;
                return _context2.abrupt("return", new Canvg(ctx, svgDocument, options));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2);
      }));

      function from(_x, _x2) {
        return _from.apply(this, arguments);
      }

      return from;
    }()
    /**
     * Create Canvg isntance from SVG source string.
     * @param ctx - Rendering context.
     * @param svg - SVG source string.
     * @param options - Rendering options.
     */

  }, {
    key: "fromString",
    value: function fromString(ctx, svg) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      var parser = new Parser(options);
      var svgDocument = parser.parseFromString(svg);
      return new Canvg(ctx, svgDocument, options);
    }
  }]);

  return Canvg;
}();

/**
 * Options preset for `OffscreenCanvas`.
 * @param config - Preset requirements.
 * @param config.DOMParser - XML/HTML parser from string into DOM Document.
 */
function offscreen() {
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
      DOMParserFallback = _ref.DOMParser;

  var preset = {
    window: null,
    ignoreAnimation: true,
    ignoreMouse: true,
    DOMParser: DOMParserFallback,
    createCanvas: function createCanvas(width, height) {
      return new OffscreenCanvas(width, height);
    },
    createImage: function createImage(url) {
      return _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_15___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark(function _callee() {
        var response, blob, img;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return fetch(url);

              case 2:
                response = _context.sent;
                _context.next = 5;
                return response.blob();

              case 5:
                blob = _context.sent;
                _context.next = 8;
                return createImageBitmap(blob);

              case 8:
                img = _context.sent;
                return _context.abrupt("return", img);

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }))();
    }
  };

  if (typeof DOMParser !== 'undefined' || typeof DOMParserFallback === 'undefined') {
    Reflect.deleteProperty(preset, 'DOMParser');
  }

  return preset;
}

/**
 * Options preset for `node-canvas`.
 * @param config - Preset requirements.
 * @param config.DOMParser - XML/HTML parser from string into DOM Document.
 * @param config.canvas - `node-canvas` exports.
 * @param config.fetch - WHATWG-compatible `fetch` function.
 */
function node(_ref) {
  var DOMParser = _ref.DOMParser,
      canvas = _ref.canvas,
      fetch = _ref.fetch;
  return {
    window: null,
    ignoreAnimation: true,
    ignoreMouse: true,
    DOMParser: DOMParser,
    fetch: fetch,
    createCanvas: canvas.createCanvas,
    createImage: canvas.loadImage
  };
}



var index = /*#__PURE__*/Object.freeze({
	__proto__: null,
	offscreen: offscreen,
	node: node
});

/* harmony default export */ __webpack_exports__["default"] = (Canvg);

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZXMuanMiLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9yZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG52YXIgcnVudGltZSA9IChmdW5jdGlvbiAoZXhwb3J0cykge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICB2YXIgT3AgPSBPYmplY3QucHJvdG90eXBlO1xuICB2YXIgaGFzT3duID0gT3AuaGFzT3duUHJvcGVydHk7XG4gIHZhciB1bmRlZmluZWQ7IC8vIE1vcmUgY29tcHJlc3NpYmxlIHRoYW4gdm9pZCAwLlxuICB2YXIgJFN5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiA/IFN5bWJvbCA6IHt9O1xuICB2YXIgaXRlcmF0b3JTeW1ib2wgPSAkU3ltYm9sLml0ZXJhdG9yIHx8IFwiQEBpdGVyYXRvclwiO1xuICB2YXIgYXN5bmNJdGVyYXRvclN5bWJvbCA9ICRTeW1ib2wuYXN5bmNJdGVyYXRvciB8fCBcIkBAYXN5bmNJdGVyYXRvclwiO1xuICB2YXIgdG9TdHJpbmdUYWdTeW1ib2wgPSAkU3ltYm9sLnRvU3RyaW5nVGFnIHx8IFwiQEB0b1N0cmluZ1RhZ1wiO1xuXG4gIGZ1bmN0aW9uIHdyYXAoaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpIHtcbiAgICAvLyBJZiBvdXRlckZuIHByb3ZpZGVkIGFuZCBvdXRlckZuLnByb3RvdHlwZSBpcyBhIEdlbmVyYXRvciwgdGhlbiBvdXRlckZuLnByb3RvdHlwZSBpbnN0YW5jZW9mIEdlbmVyYXRvci5cbiAgICB2YXIgcHJvdG9HZW5lcmF0b3IgPSBvdXRlckZuICYmIG91dGVyRm4ucHJvdG90eXBlIGluc3RhbmNlb2YgR2VuZXJhdG9yID8gb3V0ZXJGbiA6IEdlbmVyYXRvcjtcbiAgICB2YXIgZ2VuZXJhdG9yID0gT2JqZWN0LmNyZWF0ZShwcm90b0dlbmVyYXRvci5wcm90b3R5cGUpO1xuICAgIHZhciBjb250ZXh0ID0gbmV3IENvbnRleHQodHJ5TG9jc0xpc3QgfHwgW10pO1xuXG4gICAgLy8gVGhlIC5faW52b2tlIG1ldGhvZCB1bmlmaWVzIHRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIC5uZXh0LFxuICAgIC8vIC50aHJvdywgYW5kIC5yZXR1cm4gbWV0aG9kcy5cbiAgICBnZW5lcmF0b3IuX2ludm9rZSA9IG1ha2VJbnZva2VNZXRob2QoaW5uZXJGbiwgc2VsZiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9yO1xuICB9XG4gIGV4cG9ydHMud3JhcCA9IHdyYXA7XG5cbiAgLy8gVHJ5L2NhdGNoIGhlbHBlciB0byBtaW5pbWl6ZSBkZW9wdGltaXphdGlvbnMuIFJldHVybnMgYSBjb21wbGV0aW9uXG4gIC8vIHJlY29yZCBsaWtlIGNvbnRleHQudHJ5RW50cmllc1tpXS5jb21wbGV0aW9uLiBUaGlzIGludGVyZmFjZSBjb3VsZFxuICAvLyBoYXZlIGJlZW4gKGFuZCB3YXMgcHJldmlvdXNseSkgZGVzaWduZWQgdG8gdGFrZSBhIGNsb3N1cmUgdG8gYmVcbiAgLy8gaW52b2tlZCB3aXRob3V0IGFyZ3VtZW50cywgYnV0IGluIGFsbCB0aGUgY2FzZXMgd2UgY2FyZSBhYm91dCB3ZVxuICAvLyBhbHJlYWR5IGhhdmUgYW4gZXhpc3RpbmcgbWV0aG9kIHdlIHdhbnQgdG8gY2FsbCwgc28gdGhlcmUncyBubyBuZWVkXG4gIC8vIHRvIGNyZWF0ZSBhIG5ldyBmdW5jdGlvbiBvYmplY3QuIFdlIGNhbiBldmVuIGdldCBhd2F5IHdpdGggYXNzdW1pbmdcbiAgLy8gdGhlIG1ldGhvZCB0YWtlcyBleGFjdGx5IG9uZSBhcmd1bWVudCwgc2luY2UgdGhhdCBoYXBwZW5zIHRvIGJlIHRydWVcbiAgLy8gaW4gZXZlcnkgY2FzZSwgc28gd2UgZG9uJ3QgaGF2ZSB0byB0b3VjaCB0aGUgYXJndW1lbnRzIG9iamVjdC4gVGhlXG4gIC8vIG9ubHkgYWRkaXRpb25hbCBhbGxvY2F0aW9uIHJlcXVpcmVkIGlzIHRoZSBjb21wbGV0aW9uIHJlY29yZCwgd2hpY2hcbiAgLy8gaGFzIGEgc3RhYmxlIHNoYXBlIGFuZCBzbyBob3BlZnVsbHkgc2hvdWxkIGJlIGNoZWFwIHRvIGFsbG9jYXRlLlxuICBmdW5jdGlvbiB0cnlDYXRjaChmbiwgb2JqLCBhcmcpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHsgdHlwZTogXCJub3JtYWxcIiwgYXJnOiBmbi5jYWxsKG9iaiwgYXJnKSB9O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHsgdHlwZTogXCJ0aHJvd1wiLCBhcmc6IGVyciB9O1xuICAgIH1cbiAgfVxuXG4gIHZhciBHZW5TdGF0ZVN1c3BlbmRlZFN0YXJ0ID0gXCJzdXNwZW5kZWRTdGFydFwiO1xuICB2YXIgR2VuU3RhdGVTdXNwZW5kZWRZaWVsZCA9IFwic3VzcGVuZGVkWWllbGRcIjtcbiAgdmFyIEdlblN0YXRlRXhlY3V0aW5nID0gXCJleGVjdXRpbmdcIjtcbiAgdmFyIEdlblN0YXRlQ29tcGxldGVkID0gXCJjb21wbGV0ZWRcIjtcblxuICAvLyBSZXR1cm5pbmcgdGhpcyBvYmplY3QgZnJvbSB0aGUgaW5uZXJGbiBoYXMgdGhlIHNhbWUgZWZmZWN0IGFzXG4gIC8vIGJyZWFraW5nIG91dCBvZiB0aGUgZGlzcGF0Y2ggc3dpdGNoIHN0YXRlbWVudC5cbiAgdmFyIENvbnRpbnVlU2VudGluZWwgPSB7fTtcblxuICAvLyBEdW1teSBjb25zdHJ1Y3RvciBmdW5jdGlvbnMgdGhhdCB3ZSB1c2UgYXMgdGhlIC5jb25zdHJ1Y3RvciBhbmRcbiAgLy8gLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBwcm9wZXJ0aWVzIGZvciBmdW5jdGlvbnMgdGhhdCByZXR1cm4gR2VuZXJhdG9yXG4gIC8vIG9iamVjdHMuIEZvciBmdWxsIHNwZWMgY29tcGxpYW5jZSwgeW91IG1heSB3aXNoIHRvIGNvbmZpZ3VyZSB5b3VyXG4gIC8vIG1pbmlmaWVyIG5vdCB0byBtYW5nbGUgdGhlIG5hbWVzIG9mIHRoZXNlIHR3byBmdW5jdGlvbnMuXG4gIGZ1bmN0aW9uIEdlbmVyYXRvcigpIHt9XG4gIGZ1bmN0aW9uIEdlbmVyYXRvckZ1bmN0aW9uKCkge31cbiAgZnVuY3Rpb24gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUoKSB7fVxuXG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgJUl0ZXJhdG9yUHJvdG90eXBlJSBmb3IgZW52aXJvbm1lbnRzIHRoYXRcbiAgLy8gZG9uJ3QgbmF0aXZlbHkgc3VwcG9ydCBpdC5cbiAgdmFyIEl0ZXJhdG9yUHJvdG90eXBlID0ge307XG4gIEl0ZXJhdG9yUHJvdG90eXBlW2l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICB2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG4gIHZhciBOYXRpdmVJdGVyYXRvclByb3RvdHlwZSA9IGdldFByb3RvICYmIGdldFByb3RvKGdldFByb3RvKHZhbHVlcyhbXSkpKTtcbiAgaWYgKE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlICYmXG4gICAgICBOYXRpdmVJdGVyYXRvclByb3RvdHlwZSAhPT0gT3AgJiZcbiAgICAgIGhhc093bi5jYWxsKE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlLCBpdGVyYXRvclN5bWJvbCkpIHtcbiAgICAvLyBUaGlzIGVudmlyb25tZW50IGhhcyBhIG5hdGl2ZSAlSXRlcmF0b3JQcm90b3R5cGUlOyB1c2UgaXQgaW5zdGVhZFxuICAgIC8vIG9mIHRoZSBwb2x5ZmlsbC5cbiAgICBJdGVyYXRvclByb3RvdHlwZSA9IE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlO1xuICB9XG5cbiAgdmFyIEdwID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUucHJvdG90eXBlID1cbiAgICBHZW5lcmF0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSk7XG4gIEdlbmVyYXRvckZ1bmN0aW9uLnByb3RvdHlwZSA9IEdwLmNvbnN0cnVjdG9yID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGU7XG4gIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmNvbnN0cnVjdG9yID0gR2VuZXJhdG9yRnVuY3Rpb247XG4gIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlW3RvU3RyaW5nVGFnU3ltYm9sXSA9XG4gICAgR2VuZXJhdG9yRnVuY3Rpb24uZGlzcGxheU5hbWUgPSBcIkdlbmVyYXRvckZ1bmN0aW9uXCI7XG5cbiAgLy8gSGVscGVyIGZvciBkZWZpbmluZyB0aGUgLm5leHQsIC50aHJvdywgYW5kIC5yZXR1cm4gbWV0aG9kcyBvZiB0aGVcbiAgLy8gSXRlcmF0b3IgaW50ZXJmYWNlIGluIHRlcm1zIG9mIGEgc2luZ2xlIC5faW52b2tlIG1ldGhvZC5cbiAgZnVuY3Rpb24gZGVmaW5lSXRlcmF0b3JNZXRob2RzKHByb3RvdHlwZSkge1xuICAgIFtcIm5leHRcIiwgXCJ0aHJvd1wiLCBcInJldHVyblwiXS5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgICAgcHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbihhcmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludm9rZShtZXRob2QsIGFyZyk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgZXhwb3J0cy5pc0dlbmVyYXRvckZ1bmN0aW9uID0gZnVuY3Rpb24oZ2VuRnVuKSB7XG4gICAgdmFyIGN0b3IgPSB0eXBlb2YgZ2VuRnVuID09PSBcImZ1bmN0aW9uXCIgJiYgZ2VuRnVuLmNvbnN0cnVjdG9yO1xuICAgIHJldHVybiBjdG9yXG4gICAgICA/IGN0b3IgPT09IEdlbmVyYXRvckZ1bmN0aW9uIHx8XG4gICAgICAgIC8vIEZvciB0aGUgbmF0aXZlIEdlbmVyYXRvckZ1bmN0aW9uIGNvbnN0cnVjdG9yLCB0aGUgYmVzdCB3ZSBjYW5cbiAgICAgICAgLy8gZG8gaXMgdG8gY2hlY2sgaXRzIC5uYW1lIHByb3BlcnR5LlxuICAgICAgICAoY3Rvci5kaXNwbGF5TmFtZSB8fCBjdG9yLm5hbWUpID09PSBcIkdlbmVyYXRvckZ1bmN0aW9uXCJcbiAgICAgIDogZmFsc2U7XG4gIH07XG5cbiAgZXhwb3J0cy5tYXJrID0gZnVuY3Rpb24oZ2VuRnVuKSB7XG4gICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikge1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGdlbkZ1biwgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBnZW5GdW4uX19wcm90b19fID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGU7XG4gICAgICBpZiAoISh0b1N0cmluZ1RhZ1N5bWJvbCBpbiBnZW5GdW4pKSB7XG4gICAgICAgIGdlbkZ1blt0b1N0cmluZ1RhZ1N5bWJvbF0gPSBcIkdlbmVyYXRvckZ1bmN0aW9uXCI7XG4gICAgICB9XG4gICAgfVxuICAgIGdlbkZ1bi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEdwKTtcbiAgICByZXR1cm4gZ2VuRnVuO1xuICB9O1xuXG4gIC8vIFdpdGhpbiB0aGUgYm9keSBvZiBhbnkgYXN5bmMgZnVuY3Rpb24sIGBhd2FpdCB4YCBpcyB0cmFuc2Zvcm1lZCB0b1xuICAvLyBgeWllbGQgcmVnZW5lcmF0b3JSdW50aW1lLmF3cmFwKHgpYCwgc28gdGhhdCB0aGUgcnVudGltZSBjYW4gdGVzdFxuICAvLyBgaGFzT3duLmNhbGwodmFsdWUsIFwiX19hd2FpdFwiKWAgdG8gZGV0ZXJtaW5lIGlmIHRoZSB5aWVsZGVkIHZhbHVlIGlzXG4gIC8vIG1lYW50IHRvIGJlIGF3YWl0ZWQuXG4gIGV4cG9ydHMuYXdyYXAgPSBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4geyBfX2F3YWl0OiBhcmcgfTtcbiAgfTtcblxuICBmdW5jdGlvbiBBc3luY0l0ZXJhdG9yKGdlbmVyYXRvciwgUHJvbWlzZUltcGwpIHtcbiAgICBmdW5jdGlvbiBpbnZva2UobWV0aG9kLCBhcmcsIHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgdmFyIHJlY29yZCA9IHRyeUNhdGNoKGdlbmVyYXRvclttZXRob2RdLCBnZW5lcmF0b3IsIGFyZyk7XG4gICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICByZWplY3QocmVjb3JkLmFyZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVjb3JkLmFyZztcbiAgICAgICAgdmFyIHZhbHVlID0gcmVzdWx0LnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgJiZcbiAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgaGFzT3duLmNhbGwodmFsdWUsIFwiX19hd2FpdFwiKSkge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlSW1wbC5yZXNvbHZlKHZhbHVlLl9fYXdhaXQpLnRoZW4oZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgIGludm9rZShcIm5leHRcIiwgdmFsdWUsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgfSwgZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICBpbnZva2UoXCJ0aHJvd1wiLCBlcnIsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUHJvbWlzZUltcGwucmVzb2x2ZSh2YWx1ZSkudGhlbihmdW5jdGlvbih1bndyYXBwZWQpIHtcbiAgICAgICAgICAvLyBXaGVuIGEgeWllbGRlZCBQcm9taXNlIGlzIHJlc29sdmVkLCBpdHMgZmluYWwgdmFsdWUgYmVjb21lc1xuICAgICAgICAgIC8vIHRoZSAudmFsdWUgb2YgdGhlIFByb21pc2U8e3ZhbHVlLGRvbmV9PiByZXN1bHQgZm9yIHRoZVxuICAgICAgICAgIC8vIGN1cnJlbnQgaXRlcmF0aW9uLlxuICAgICAgICAgIHJlc3VsdC52YWx1ZSA9IHVud3JhcHBlZDtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7XG4gICAgICAgICAgLy8gSWYgYSByZWplY3RlZCBQcm9taXNlIHdhcyB5aWVsZGVkLCB0aHJvdyB0aGUgcmVqZWN0aW9uIGJhY2tcbiAgICAgICAgICAvLyBpbnRvIHRoZSBhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gc28gaXQgY2FuIGJlIGhhbmRsZWQgdGhlcmUuXG4gICAgICAgICAgcmV0dXJuIGludm9rZShcInRocm93XCIsIGVycm9yLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJldmlvdXNQcm9taXNlO1xuXG4gICAgZnVuY3Rpb24gZW5xdWV1ZShtZXRob2QsIGFyZykge1xuICAgICAgZnVuY3Rpb24gY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZUltcGwoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgaW52b2tlKG1ldGhvZCwgYXJnLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHByZXZpb3VzUHJvbWlzZSA9XG4gICAgICAgIC8vIElmIGVucXVldWUgaGFzIGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIHdhaXQgdW50aWxcbiAgICAgICAgLy8gYWxsIHByZXZpb3VzIFByb21pc2VzIGhhdmUgYmVlbiByZXNvbHZlZCBiZWZvcmUgY2FsbGluZyBpbnZva2UsXG4gICAgICAgIC8vIHNvIHRoYXQgcmVzdWx0cyBhcmUgYWx3YXlzIGRlbGl2ZXJlZCBpbiB0aGUgY29ycmVjdCBvcmRlci4gSWZcbiAgICAgICAgLy8gZW5xdWV1ZSBoYXMgbm90IGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiBpdCBpcyBpbXBvcnRhbnQgdG9cbiAgICAgICAgLy8gY2FsbCBpbnZva2UgaW1tZWRpYXRlbHksIHdpdGhvdXQgd2FpdGluZyBvbiBhIGNhbGxiYWNrIHRvIGZpcmUsXG4gICAgICAgIC8vIHNvIHRoYXQgdGhlIGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBoYXMgdGhlIG9wcG9ydHVuaXR5IHRvIGRvXG4gICAgICAgIC8vIGFueSBuZWNlc3Nhcnkgc2V0dXAgaW4gYSBwcmVkaWN0YWJsZSB3YXkuIFRoaXMgcHJlZGljdGFiaWxpdHlcbiAgICAgICAgLy8gaXMgd2h5IHRoZSBQcm9taXNlIGNvbnN0cnVjdG9yIHN5bmNocm9ub3VzbHkgaW52b2tlcyBpdHNcbiAgICAgICAgLy8gZXhlY3V0b3IgY2FsbGJhY2ssIGFuZCB3aHkgYXN5bmMgZnVuY3Rpb25zIHN5bmNocm9ub3VzbHlcbiAgICAgICAgLy8gZXhlY3V0ZSBjb2RlIGJlZm9yZSB0aGUgZmlyc3QgYXdhaXQuIFNpbmNlIHdlIGltcGxlbWVudCBzaW1wbGVcbiAgICAgICAgLy8gYXN5bmMgZnVuY3Rpb25zIGluIHRlcm1zIG9mIGFzeW5jIGdlbmVyYXRvcnMsIGl0IGlzIGVzcGVjaWFsbHlcbiAgICAgICAgLy8gaW1wb3J0YW50IHRvIGdldCB0aGlzIHJpZ2h0LCBldmVuIHRob3VnaCBpdCByZXF1aXJlcyBjYXJlLlxuICAgICAgICBwcmV2aW91c1Byb21pc2UgPyBwcmV2aW91c1Byb21pc2UudGhlbihcbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyxcbiAgICAgICAgICAvLyBBdm9pZCBwcm9wYWdhdGluZyBmYWlsdXJlcyB0byBQcm9taXNlcyByZXR1cm5lZCBieSBsYXRlclxuICAgICAgICAgIC8vIGludm9jYXRpb25zIG9mIHRoZSBpdGVyYXRvci5cbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZ1xuICAgICAgICApIDogY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKTtcbiAgICB9XG5cbiAgICAvLyBEZWZpbmUgdGhlIHVuaWZpZWQgaGVscGVyIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gaW1wbGVtZW50IC5uZXh0LFxuICAgIC8vIC50aHJvdywgYW5kIC5yZXR1cm4gKHNlZSBkZWZpbmVJdGVyYXRvck1ldGhvZHMpLlxuICAgIHRoaXMuX2ludm9rZSA9IGVucXVldWU7XG4gIH1cblxuICBkZWZpbmVJdGVyYXRvck1ldGhvZHMoQXN5bmNJdGVyYXRvci5wcm90b3R5cGUpO1xuICBBc3luY0l0ZXJhdG9yLnByb3RvdHlwZVthc3luY0l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcbiAgZXhwb3J0cy5Bc3luY0l0ZXJhdG9yID0gQXN5bmNJdGVyYXRvcjtcblxuICAvLyBOb3RlIHRoYXQgc2ltcGxlIGFzeW5jIGZ1bmN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgb24gdG9wIG9mXG4gIC8vIEFzeW5jSXRlcmF0b3Igb2JqZWN0czsgdGhleSBqdXN0IHJldHVybiBhIFByb21pc2UgZm9yIHRoZSB2YWx1ZSBvZlxuICAvLyB0aGUgZmluYWwgcmVzdWx0IHByb2R1Y2VkIGJ5IHRoZSBpdGVyYXRvci5cbiAgZXhwb3J0cy5hc3luYyA9IGZ1bmN0aW9uKGlubmVyRm4sIG91dGVyRm4sIHNlbGYsIHRyeUxvY3NMaXN0LCBQcm9taXNlSW1wbCkge1xuICAgIGlmIChQcm9taXNlSW1wbCA9PT0gdm9pZCAwKSBQcm9taXNlSW1wbCA9IFByb21pc2U7XG5cbiAgICB2YXIgaXRlciA9IG5ldyBBc3luY0l0ZXJhdG9yKFxuICAgICAgd3JhcChpbm5lckZuLCBvdXRlckZuLCBzZWxmLCB0cnlMb2NzTGlzdCksXG4gICAgICBQcm9taXNlSW1wbFxuICAgICk7XG5cbiAgICByZXR1cm4gZXhwb3J0cy5pc0dlbmVyYXRvckZ1bmN0aW9uKG91dGVyRm4pXG4gICAgICA/IGl0ZXIgLy8gSWYgb3V0ZXJGbiBpcyBhIGdlbmVyYXRvciwgcmV0dXJuIHRoZSBmdWxsIGl0ZXJhdG9yLlxuICAgICAgOiBpdGVyLm5leHQoKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuZG9uZSA/IHJlc3VsdC52YWx1ZSA6IGl0ZXIubmV4dCgpO1xuICAgICAgICB9KTtcbiAgfTtcblxuICBmdW5jdGlvbiBtYWtlSW52b2tlTWV0aG9kKGlubmVyRm4sIHNlbGYsIGNvbnRleHQpIHtcbiAgICB2YXIgc3RhdGUgPSBHZW5TdGF0ZVN1c3BlbmRlZFN0YXJ0O1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGludm9rZShtZXRob2QsIGFyZykge1xuICAgICAgaWYgKHN0YXRlID09PSBHZW5TdGF0ZUV4ZWN1dGluZykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhdGUgPT09IEdlblN0YXRlQ29tcGxldGVkKSB7XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgIHRocm93IGFyZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJlIGZvcmdpdmluZywgcGVyIDI1LjMuMy4zLjMgb2YgdGhlIHNwZWM6XG4gICAgICAgIC8vIGh0dHBzOi8vcGVvcGxlLm1vemlsbGEub3JnL35qb3JlbmRvcmZmL2VzNi1kcmFmdC5odG1sI3NlYy1nZW5lcmF0b3JyZXN1bWVcbiAgICAgICAgcmV0dXJuIGRvbmVSZXN1bHQoKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5tZXRob2QgPSBtZXRob2Q7XG4gICAgICBjb250ZXh0LmFyZyA9IGFyZztcblxuICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgdmFyIGRlbGVnYXRlID0gY29udGV4dC5kZWxlZ2F0ZTtcbiAgICAgICAgaWYgKGRlbGVnYXRlKSB7XG4gICAgICAgICAgdmFyIGRlbGVnYXRlUmVzdWx0ID0gbWF5YmVJbnZva2VEZWxlZ2F0ZShkZWxlZ2F0ZSwgY29udGV4dCk7XG4gICAgICAgICAgaWYgKGRlbGVnYXRlUmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoZGVsZWdhdGVSZXN1bHQgPT09IENvbnRpbnVlU2VudGluZWwpIGNvbnRpbnVlO1xuICAgICAgICAgICAgcmV0dXJuIGRlbGVnYXRlUmVzdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb250ZXh0Lm1ldGhvZCA9PT0gXCJuZXh0XCIpIHtcbiAgICAgICAgICAvLyBTZXR0aW5nIGNvbnRleHQuX3NlbnQgZm9yIGxlZ2FjeSBzdXBwb3J0IG9mIEJhYmVsJ3NcbiAgICAgICAgICAvLyBmdW5jdGlvbi5zZW50IGltcGxlbWVudGF0aW9uLlxuICAgICAgICAgIGNvbnRleHQuc2VudCA9IGNvbnRleHQuX3NlbnQgPSBjb250ZXh0LmFyZztcblxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQubWV0aG9kID09PSBcInRocm93XCIpIHtcbiAgICAgICAgICBpZiAoc3RhdGUgPT09IEdlblN0YXRlU3VzcGVuZGVkU3RhcnQpIHtcbiAgICAgICAgICAgIHN0YXRlID0gR2VuU3RhdGVDb21wbGV0ZWQ7XG4gICAgICAgICAgICB0aHJvdyBjb250ZXh0LmFyZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250ZXh0LmRpc3BhdGNoRXhjZXB0aW9uKGNvbnRleHQuYXJnKTtcblxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQubWV0aG9kID09PSBcInJldHVyblwiKSB7XG4gICAgICAgICAgY29udGV4dC5hYnJ1cHQoXCJyZXR1cm5cIiwgY29udGV4dC5hcmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGUgPSBHZW5TdGF0ZUV4ZWN1dGluZztcblxuICAgICAgICB2YXIgcmVjb3JkID0gdHJ5Q2F0Y2goaW5uZXJGbiwgc2VsZiwgY29udGV4dCk7XG4gICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gXCJub3JtYWxcIikge1xuICAgICAgICAgIC8vIElmIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gZnJvbSBpbm5lckZuLCB3ZSBsZWF2ZSBzdGF0ZSA9PT1cbiAgICAgICAgICAvLyBHZW5TdGF0ZUV4ZWN1dGluZyBhbmQgbG9vcCBiYWNrIGZvciBhbm90aGVyIGludm9jYXRpb24uXG4gICAgICAgICAgc3RhdGUgPSBjb250ZXh0LmRvbmVcbiAgICAgICAgICAgID8gR2VuU3RhdGVDb21wbGV0ZWRcbiAgICAgICAgICAgIDogR2VuU3RhdGVTdXNwZW5kZWRZaWVsZDtcblxuICAgICAgICAgIGlmIChyZWNvcmQuYXJnID09PSBDb250aW51ZVNlbnRpbmVsKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHJlY29yZC5hcmcsXG4gICAgICAgICAgICBkb25lOiBjb250ZXh0LmRvbmVcbiAgICAgICAgICB9O1xuXG4gICAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgIHN0YXRlID0gR2VuU3RhdGVDb21wbGV0ZWQ7XG4gICAgICAgICAgLy8gRGlzcGF0Y2ggdGhlIGV4Y2VwdGlvbiBieSBsb29waW5nIGJhY2sgYXJvdW5kIHRvIHRoZVxuICAgICAgICAgIC8vIGNvbnRleHQuZGlzcGF0Y2hFeGNlcHRpb24oY29udGV4dC5hcmcpIGNhbGwgYWJvdmUuXG4gICAgICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICAgICAgY29udGV4dC5hcmcgPSByZWNvcmQuYXJnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8vIENhbGwgZGVsZWdhdGUuaXRlcmF0b3JbY29udGV4dC5tZXRob2RdKGNvbnRleHQuYXJnKSBhbmQgaGFuZGxlIHRoZVxuICAvLyByZXN1bHQsIGVpdGhlciBieSByZXR1cm5pbmcgYSB7IHZhbHVlLCBkb25lIH0gcmVzdWx0IGZyb20gdGhlXG4gIC8vIGRlbGVnYXRlIGl0ZXJhdG9yLCBvciBieSBtb2RpZnlpbmcgY29udGV4dC5tZXRob2QgYW5kIGNvbnRleHQuYXJnLFxuICAvLyBzZXR0aW5nIGNvbnRleHQuZGVsZWdhdGUgdG8gbnVsbCwgYW5kIHJldHVybmluZyB0aGUgQ29udGludWVTZW50aW5lbC5cbiAgZnVuY3Rpb24gbWF5YmVJbnZva2VEZWxlZ2F0ZShkZWxlZ2F0ZSwgY29udGV4dCkge1xuICAgIHZhciBtZXRob2QgPSBkZWxlZ2F0ZS5pdGVyYXRvcltjb250ZXh0Lm1ldGhvZF07XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBBIC50aHJvdyBvciAucmV0dXJuIHdoZW4gdGhlIGRlbGVnYXRlIGl0ZXJhdG9yIGhhcyBubyAudGhyb3dcbiAgICAgIC8vIG1ldGhvZCBhbHdheXMgdGVybWluYXRlcyB0aGUgeWllbGQqIGxvb3AuXG4gICAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcblxuICAgICAgaWYgKGNvbnRleHQubWV0aG9kID09PSBcInRocm93XCIpIHtcbiAgICAgICAgLy8gTm90ZTogW1wicmV0dXJuXCJdIG11c3QgYmUgdXNlZCBmb3IgRVMzIHBhcnNpbmcgY29tcGF0aWJpbGl0eS5cbiAgICAgICAgaWYgKGRlbGVnYXRlLml0ZXJhdG9yW1wicmV0dXJuXCJdKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIGRlbGVnYXRlIGl0ZXJhdG9yIGhhcyBhIHJldHVybiBtZXRob2QsIGdpdmUgaXQgYVxuICAgICAgICAgIC8vIGNoYW5jZSB0byBjbGVhbiB1cC5cbiAgICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwicmV0dXJuXCI7XG4gICAgICAgICAgY29udGV4dC5hcmcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgbWF5YmVJbnZva2VEZWxlZ2F0ZShkZWxlZ2F0ZSwgY29udGV4dCk7XG5cbiAgICAgICAgICBpZiAoY29udGV4dC5tZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgLy8gSWYgbWF5YmVJbnZva2VEZWxlZ2F0ZShjb250ZXh0KSBjaGFuZ2VkIGNvbnRleHQubWV0aG9kIGZyb21cbiAgICAgICAgICAgIC8vIFwicmV0dXJuXCIgdG8gXCJ0aHJvd1wiLCBsZXQgdGhhdCBvdmVycmlkZSB0aGUgVHlwZUVycm9yIGJlbG93LlxuICAgICAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICAgIGNvbnRleHQuYXJnID0gbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICBcIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJ3Rocm93JyBtZXRob2RcIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChtZXRob2QsIGRlbGVnYXRlLml0ZXJhdG9yLCBjb250ZXh0LmFyZyk7XG5cbiAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICBjb250ZXh0LmFyZyA9IHJlY29yZC5hcmc7XG4gICAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIHZhciBpbmZvID0gcmVjb3JkLmFyZztcblxuICAgIGlmICghIGluZm8pIHtcbiAgICAgIGNvbnRleHQubWV0aG9kID0gXCJ0aHJvd1wiO1xuICAgICAgY29udGV4dC5hcmcgPSBuZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIik7XG4gICAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cblxuICAgIGlmIChpbmZvLmRvbmUpIHtcbiAgICAgIC8vIEFzc2lnbiB0aGUgcmVzdWx0IG9mIHRoZSBmaW5pc2hlZCBkZWxlZ2F0ZSB0byB0aGUgdGVtcG9yYXJ5XG4gICAgICAvLyB2YXJpYWJsZSBzcGVjaWZpZWQgYnkgZGVsZWdhdGUucmVzdWx0TmFtZSAoc2VlIGRlbGVnYXRlWWllbGQpLlxuICAgICAgY29udGV4dFtkZWxlZ2F0ZS5yZXN1bHROYW1lXSA9IGluZm8udmFsdWU7XG5cbiAgICAgIC8vIFJlc3VtZSBleGVjdXRpb24gYXQgdGhlIGRlc2lyZWQgbG9jYXRpb24gKHNlZSBkZWxlZ2F0ZVlpZWxkKS5cbiAgICAgIGNvbnRleHQubmV4dCA9IGRlbGVnYXRlLm5leHRMb2M7XG5cbiAgICAgIC8vIElmIGNvbnRleHQubWV0aG9kIHdhcyBcInRocm93XCIgYnV0IHRoZSBkZWxlZ2F0ZSBoYW5kbGVkIHRoZVxuICAgICAgLy8gZXhjZXB0aW9uLCBsZXQgdGhlIG91dGVyIGdlbmVyYXRvciBwcm9jZWVkIG5vcm1hbGx5LiBJZlxuICAgICAgLy8gY29udGV4dC5tZXRob2Qgd2FzIFwibmV4dFwiLCBmb3JnZXQgY29udGV4dC5hcmcgc2luY2UgaXQgaGFzIGJlZW5cbiAgICAgIC8vIFwiY29uc3VtZWRcIiBieSB0aGUgZGVsZWdhdGUgaXRlcmF0b3IuIElmIGNvbnRleHQubWV0aG9kIHdhc1xuICAgICAgLy8gXCJyZXR1cm5cIiwgYWxsb3cgdGhlIG9yaWdpbmFsIC5yZXR1cm4gY2FsbCB0byBjb250aW51ZSBpbiB0aGVcbiAgICAgIC8vIG91dGVyIGdlbmVyYXRvci5cbiAgICAgIGlmIChjb250ZXh0Lm1ldGhvZCAhPT0gXCJyZXR1cm5cIikge1xuICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwibmV4dFwiO1xuICAgICAgICBjb250ZXh0LmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZS15aWVsZCB0aGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBkZWxlZ2F0ZSBtZXRob2QuXG4gICAgICByZXR1cm4gaW5mbztcbiAgICB9XG5cbiAgICAvLyBUaGUgZGVsZWdhdGUgaXRlcmF0b3IgaXMgZmluaXNoZWQsIHNvIGZvcmdldCBpdCBhbmQgY29udGludWUgd2l0aFxuICAgIC8vIHRoZSBvdXRlciBnZW5lcmF0b3IuXG4gICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG4gICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gIH1cblxuICAvLyBEZWZpbmUgR2VuZXJhdG9yLnByb3RvdHlwZS57bmV4dCx0aHJvdyxyZXR1cm59IGluIHRlcm1zIG9mIHRoZVxuICAvLyB1bmlmaWVkIC5faW52b2tlIGhlbHBlciBtZXRob2QuXG4gIGRlZmluZUl0ZXJhdG9yTWV0aG9kcyhHcCk7XG5cbiAgR3BbdG9TdHJpbmdUYWdTeW1ib2xdID0gXCJHZW5lcmF0b3JcIjtcblxuICAvLyBBIEdlbmVyYXRvciBzaG91bGQgYWx3YXlzIHJldHVybiBpdHNlbGYgYXMgdGhlIGl0ZXJhdG9yIG9iamVjdCB3aGVuIHRoZVxuICAvLyBAQGl0ZXJhdG9yIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBpdC4gU29tZSBicm93c2VycycgaW1wbGVtZW50YXRpb25zIG9mIHRoZVxuICAvLyBpdGVyYXRvciBwcm90b3R5cGUgY2hhaW4gaW5jb3JyZWN0bHkgaW1wbGVtZW50IHRoaXMsIGNhdXNpbmcgdGhlIEdlbmVyYXRvclxuICAvLyBvYmplY3QgdG8gbm90IGJlIHJldHVybmVkIGZyb20gdGhpcyBjYWxsLiBUaGlzIGVuc3VyZXMgdGhhdCBkb2Vzbid0IGhhcHBlbi5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWdlbmVyYXRvci9pc3N1ZXMvMjc0IGZvciBtb3JlIGRldGFpbHMuXG4gIEdwW2l0ZXJhdG9yU3ltYm9sXSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEdwLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFwiW29iamVjdCBHZW5lcmF0b3JdXCI7XG4gIH07XG5cbiAgZnVuY3Rpb24gcHVzaFRyeUVudHJ5KGxvY3MpIHtcbiAgICB2YXIgZW50cnkgPSB7IHRyeUxvYzogbG9jc1swXSB9O1xuXG4gICAgaWYgKDEgaW4gbG9jcykge1xuICAgICAgZW50cnkuY2F0Y2hMb2MgPSBsb2NzWzFdO1xuICAgIH1cblxuICAgIGlmICgyIGluIGxvY3MpIHtcbiAgICAgIGVudHJ5LmZpbmFsbHlMb2MgPSBsb2NzWzJdO1xuICAgICAgZW50cnkuYWZ0ZXJMb2MgPSBsb2NzWzNdO1xuICAgIH1cblxuICAgIHRoaXMudHJ5RW50cmllcy5wdXNoKGVudHJ5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlc2V0VHJ5RW50cnkoZW50cnkpIHtcbiAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbiB8fCB7fTtcbiAgICByZWNvcmQudHlwZSA9IFwibm9ybWFsXCI7XG4gICAgZGVsZXRlIHJlY29yZC5hcmc7XG4gICAgZW50cnkuY29tcGxldGlvbiA9IHJlY29yZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIENvbnRleHQodHJ5TG9jc0xpc3QpIHtcbiAgICAvLyBUaGUgcm9vdCBlbnRyeSBvYmplY3QgKGVmZmVjdGl2ZWx5IGEgdHJ5IHN0YXRlbWVudCB3aXRob3V0IGEgY2F0Y2hcbiAgICAvLyBvciBhIGZpbmFsbHkgYmxvY2spIGdpdmVzIHVzIGEgcGxhY2UgdG8gc3RvcmUgdmFsdWVzIHRocm93biBmcm9tXG4gICAgLy8gbG9jYXRpb25zIHdoZXJlIHRoZXJlIGlzIG5vIGVuY2xvc2luZyB0cnkgc3RhdGVtZW50LlxuICAgIHRoaXMudHJ5RW50cmllcyA9IFt7IHRyeUxvYzogXCJyb290XCIgfV07XG4gICAgdHJ5TG9jc0xpc3QuZm9yRWFjaChwdXNoVHJ5RW50cnksIHRoaXMpO1xuICAgIHRoaXMucmVzZXQodHJ1ZSk7XG4gIH1cblxuICBleHBvcnRzLmtleXMgPSBmdW5jdGlvbihvYmplY3QpIHtcbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICAgIGtleXMucHVzaChrZXkpO1xuICAgIH1cbiAgICBrZXlzLnJldmVyc2UoKTtcblxuICAgIC8vIFJhdGhlciB0aGFuIHJldHVybmluZyBhbiBvYmplY3Qgd2l0aCBhIG5leHQgbWV0aG9kLCB3ZSBrZWVwXG4gICAgLy8gdGhpbmdzIHNpbXBsZSBhbmQgcmV0dXJuIHRoZSBuZXh0IGZ1bmN0aW9uIGl0c2VsZi5cbiAgICByZXR1cm4gZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgIHdoaWxlIChrZXlzLmxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0ga2V5cy5wb3AoKTtcbiAgICAgICAgaWYgKGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICBuZXh0LnZhbHVlID0ga2V5O1xuICAgICAgICAgIG5leHQuZG9uZSA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRvIGF2b2lkIGNyZWF0aW5nIGFuIGFkZGl0aW9uYWwgb2JqZWN0LCB3ZSBqdXN0IGhhbmcgdGhlIC52YWx1ZVxuICAgICAgLy8gYW5kIC5kb25lIHByb3BlcnRpZXMgb2ZmIHRoZSBuZXh0IGZ1bmN0aW9uIG9iamVjdCBpdHNlbGYuIFRoaXNcbiAgICAgIC8vIGFsc28gZW5zdXJlcyB0aGF0IHRoZSBtaW5pZmllciB3aWxsIG5vdCBhbm9ueW1pemUgdGhlIGZ1bmN0aW9uLlxuICAgICAgbmV4dC5kb25lID0gdHJ1ZTtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH07XG4gIH07XG5cbiAgZnVuY3Rpb24gdmFsdWVzKGl0ZXJhYmxlKSB7XG4gICAgaWYgKGl0ZXJhYmxlKSB7XG4gICAgICB2YXIgaXRlcmF0b3JNZXRob2QgPSBpdGVyYWJsZVtpdGVyYXRvclN5bWJvbF07XG4gICAgICBpZiAoaXRlcmF0b3JNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yTWV0aG9kLmNhbGwoaXRlcmFibGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhYmxlLm5leHQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gaXRlcmFibGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNOYU4oaXRlcmFibGUubGVuZ3RoKSkge1xuICAgICAgICB2YXIgaSA9IC0xLCBuZXh0ID0gZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgICAgICB3aGlsZSAoKytpIDwgaXRlcmFibGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoaGFzT3duLmNhbGwoaXRlcmFibGUsIGkpKSB7XG4gICAgICAgICAgICAgIG5leHQudmFsdWUgPSBpdGVyYWJsZVtpXTtcbiAgICAgICAgICAgICAgbmV4dC5kb25lID0gZmFsc2U7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHQudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgbmV4dC5kb25lID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBuZXh0Lm5leHQgPSBuZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldHVybiBhbiBpdGVyYXRvciB3aXRoIG5vIHZhbHVlcy5cbiAgICByZXR1cm4geyBuZXh0OiBkb25lUmVzdWx0IH07XG4gIH1cbiAgZXhwb3J0cy52YWx1ZXMgPSB2YWx1ZXM7XG5cbiAgZnVuY3Rpb24gZG9uZVJlc3VsdCgpIHtcbiAgICByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIH1cblxuICBDb250ZXh0LnByb3RvdHlwZSA9IHtcbiAgICBjb25zdHJ1Y3RvcjogQ29udGV4dCxcblxuICAgIHJlc2V0OiBmdW5jdGlvbihza2lwVGVtcFJlc2V0KSB7XG4gICAgICB0aGlzLnByZXYgPSAwO1xuICAgICAgdGhpcy5uZXh0ID0gMDtcbiAgICAgIC8vIFJlc2V0dGluZyBjb250ZXh0Ll9zZW50IGZvciBsZWdhY3kgc3VwcG9ydCBvZiBCYWJlbCdzXG4gICAgICAvLyBmdW5jdGlvbi5zZW50IGltcGxlbWVudGF0aW9uLlxuICAgICAgdGhpcy5zZW50ID0gdGhpcy5fc2VudCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZG9uZSA9IGZhbHNlO1xuICAgICAgdGhpcy5kZWxlZ2F0ZSA9IG51bGw7XG5cbiAgICAgIHRoaXMubWV0aG9kID0gXCJuZXh0XCI7XG4gICAgICB0aGlzLmFyZyA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy50cnlFbnRyaWVzLmZvckVhY2gocmVzZXRUcnlFbnRyeSk7XG5cbiAgICAgIGlmICghc2tpcFRlbXBSZXNldCkge1xuICAgICAgICBmb3IgKHZhciBuYW1lIGluIHRoaXMpIHtcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBhYm91dCB0aGUgb3B0aW1hbCBvcmRlciBvZiB0aGVzZSBjb25kaXRpb25zOlxuICAgICAgICAgIGlmIChuYW1lLmNoYXJBdCgwKSA9PT0gXCJ0XCIgJiZcbiAgICAgICAgICAgICAgaGFzT3duLmNhbGwodGhpcywgbmFtZSkgJiZcbiAgICAgICAgICAgICAgIWlzTmFOKCtuYW1lLnNsaWNlKDEpKSkge1xuICAgICAgICAgICAgdGhpc1tuYW1lXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgc3RvcDogZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLmRvbmUgPSB0cnVlO1xuXG4gICAgICB2YXIgcm9vdEVudHJ5ID0gdGhpcy50cnlFbnRyaWVzWzBdO1xuICAgICAgdmFyIHJvb3RSZWNvcmQgPSByb290RW50cnkuY29tcGxldGlvbjtcbiAgICAgIGlmIChyb290UmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICB0aHJvdyByb290UmVjb3JkLmFyZztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucnZhbDtcbiAgICB9LFxuXG4gICAgZGlzcGF0Y2hFeGNlcHRpb246IGZ1bmN0aW9uKGV4Y2VwdGlvbikge1xuICAgICAgaWYgKHRoaXMuZG9uZSkge1xuICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICB9XG5cbiAgICAgIHZhciBjb250ZXh0ID0gdGhpcztcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZShsb2MsIGNhdWdodCkge1xuICAgICAgICByZWNvcmQudHlwZSA9IFwidGhyb3dcIjtcbiAgICAgICAgcmVjb3JkLmFyZyA9IGV4Y2VwdGlvbjtcbiAgICAgICAgY29udGV4dC5uZXh0ID0gbG9jO1xuXG4gICAgICAgIGlmIChjYXVnaHQpIHtcbiAgICAgICAgICAvLyBJZiB0aGUgZGlzcGF0Y2hlZCBleGNlcHRpb24gd2FzIGNhdWdodCBieSBhIGNhdGNoIGJsb2NrLFxuICAgICAgICAgIC8vIHRoZW4gbGV0IHRoYXQgY2F0Y2ggYmxvY2sgaGFuZGxlIHRoZSBleGNlcHRpb24gbm9ybWFsbHkuXG4gICAgICAgICAgY29udGV4dC5tZXRob2QgPSBcIm5leHRcIjtcbiAgICAgICAgICBjb250ZXh0LmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAhISBjYXVnaHQ7XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbjtcblxuICAgICAgICBpZiAoZW50cnkudHJ5TG9jID09PSBcInJvb3RcIikge1xuICAgICAgICAgIC8vIEV4Y2VwdGlvbiB0aHJvd24gb3V0c2lkZSBvZiBhbnkgdHJ5IGJsb2NrIHRoYXQgY291bGQgaGFuZGxlXG4gICAgICAgICAgLy8gaXQsIHNvIHNldCB0aGUgY29tcGxldGlvbiB2YWx1ZSBvZiB0aGUgZW50aXJlIGZ1bmN0aW9uIHRvXG4gICAgICAgICAgLy8gdGhyb3cgdGhlIGV4Y2VwdGlvbi5cbiAgICAgICAgICByZXR1cm4gaGFuZGxlKFwiZW5kXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudHJ5LnRyeUxvYyA8PSB0aGlzLnByZXYpIHtcbiAgICAgICAgICB2YXIgaGFzQ2F0Y2ggPSBoYXNPd24uY2FsbChlbnRyeSwgXCJjYXRjaExvY1wiKTtcbiAgICAgICAgICB2YXIgaGFzRmluYWxseSA9IGhhc093bi5jYWxsKGVudHJ5LCBcImZpbmFsbHlMb2NcIik7XG5cbiAgICAgICAgICBpZiAoaGFzQ2F0Y2ggJiYgaGFzRmluYWxseSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGVudHJ5LmNhdGNoTG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuY2F0Y2hMb2MsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnByZXYgPCBlbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuZmluYWxseUxvYyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2UgaWYgKGhhc0NhdGNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2IDwgZW50cnkuY2F0Y2hMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5jYXRjaExvYywgdHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2UgaWYgKGhhc0ZpbmFsbHkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBlbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoYW5kbGUoZW50cnkuZmluYWxseUxvYyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHlcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFicnVwdDogZnVuY3Rpb24odHlwZSwgYXJnKSB7XG4gICAgICBmb3IgKHZhciBpID0gdGhpcy50cnlFbnRyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IHRoaXMudHJ5RW50cmllc1tpXTtcbiAgICAgICAgaWYgKGVudHJ5LnRyeUxvYyA8PSB0aGlzLnByZXYgJiZcbiAgICAgICAgICAgIGhhc093bi5jYWxsKGVudHJ5LCBcImZpbmFsbHlMb2NcIikgJiZcbiAgICAgICAgICAgIHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICB2YXIgZmluYWxseUVudHJ5ID0gZW50cnk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpbmFsbHlFbnRyeSAmJlxuICAgICAgICAgICh0eXBlID09PSBcImJyZWFrXCIgfHxcbiAgICAgICAgICAgdHlwZSA9PT0gXCJjb250aW51ZVwiKSAmJlxuICAgICAgICAgIGZpbmFsbHlFbnRyeS50cnlMb2MgPD0gYXJnICYmXG4gICAgICAgICAgYXJnIDw9IGZpbmFsbHlFbnRyeS5maW5hbGx5TG9jKSB7XG4gICAgICAgIC8vIElnbm9yZSB0aGUgZmluYWxseSBlbnRyeSBpZiBjb250cm9sIGlzIG5vdCBqdW1waW5nIHRvIGFcbiAgICAgICAgLy8gbG9jYXRpb24gb3V0c2lkZSB0aGUgdHJ5L2NhdGNoIGJsb2NrLlxuICAgICAgICBmaW5hbGx5RW50cnkgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVjb3JkID0gZmluYWxseUVudHJ5ID8gZmluYWxseUVudHJ5LmNvbXBsZXRpb24gOiB7fTtcbiAgICAgIHJlY29yZC50eXBlID0gdHlwZTtcbiAgICAgIHJlY29yZC5hcmcgPSBhcmc7XG5cbiAgICAgIGlmIChmaW5hbGx5RW50cnkpIHtcbiAgICAgICAgdGhpcy5tZXRob2QgPSBcIm5leHRcIjtcbiAgICAgICAgdGhpcy5uZXh0ID0gZmluYWxseUVudHJ5LmZpbmFsbHlMb2M7XG4gICAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jb21wbGV0ZShyZWNvcmQpO1xuICAgIH0sXG5cbiAgICBjb21wbGV0ZTogZnVuY3Rpb24ocmVjb3JkLCBhZnRlckxvYykge1xuICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcInRocm93XCIpIHtcbiAgICAgICAgdGhyb3cgcmVjb3JkLmFyZztcbiAgICAgIH1cblxuICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcImJyZWFrXCIgfHxcbiAgICAgICAgICByZWNvcmQudHlwZSA9PT0gXCJjb250aW51ZVwiKSB7XG4gICAgICAgIHRoaXMubmV4dCA9IHJlY29yZC5hcmc7XG4gICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBcInJldHVyblwiKSB7XG4gICAgICAgIHRoaXMucnZhbCA9IHRoaXMuYXJnID0gcmVjb3JkLmFyZztcbiAgICAgICAgdGhpcy5tZXRob2QgPSBcInJldHVyblwiO1xuICAgICAgICB0aGlzLm5leHQgPSBcImVuZFwiO1xuICAgICAgfSBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gXCJub3JtYWxcIiAmJiBhZnRlckxvYykge1xuICAgICAgICB0aGlzLm5leHQgPSBhZnRlckxvYztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfSxcblxuICAgIGZpbmlzaDogZnVuY3Rpb24oZmluYWxseUxvYykge1xuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIGlmIChlbnRyeS5maW5hbGx5TG9jID09PSBmaW5hbGx5TG9jKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZShlbnRyeS5jb21wbGV0aW9uLCBlbnRyeS5hZnRlckxvYyk7XG4gICAgICAgICAgcmVzZXRUcnlFbnRyeShlbnRyeSk7XG4gICAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgXCJjYXRjaFwiOiBmdW5jdGlvbih0cnlMb2MpIHtcbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICBpZiAoZW50cnkudHJ5TG9jID09PSB0cnlMb2MpIHtcbiAgICAgICAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbjtcbiAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgdmFyIHRocm93biA9IHJlY29yZC5hcmc7XG4gICAgICAgICAgICByZXNldFRyeUVudHJ5KGVudHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRocm93bjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgY29udGV4dC5jYXRjaCBtZXRob2QgbXVzdCBvbmx5IGJlIGNhbGxlZCB3aXRoIGEgbG9jYXRpb25cbiAgICAgIC8vIGFyZ3VtZW50IHRoYXQgY29ycmVzcG9uZHMgdG8gYSBrbm93biBjYXRjaCBibG9jay5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKTtcbiAgICB9LFxuXG4gICAgZGVsZWdhdGVZaWVsZDogZnVuY3Rpb24oaXRlcmFibGUsIHJlc3VsdE5hbWUsIG5leHRMb2MpIHtcbiAgICAgIHRoaXMuZGVsZWdhdGUgPSB7XG4gICAgICAgIGl0ZXJhdG9yOiB2YWx1ZXMoaXRlcmFibGUpLFxuICAgICAgICByZXN1bHROYW1lOiByZXN1bHROYW1lLFxuICAgICAgICBuZXh0TG9jOiBuZXh0TG9jXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5tZXRob2QgPT09IFwibmV4dFwiKSB7XG4gICAgICAgIC8vIERlbGliZXJhdGVseSBmb3JnZXQgdGhlIGxhc3Qgc2VudCB2YWx1ZSBzbyB0aGF0IHdlIGRvbid0XG4gICAgICAgIC8vIGFjY2lkZW50YWxseSBwYXNzIGl0IG9uIHRvIHRoZSBkZWxlZ2F0ZS5cbiAgICAgICAgdGhpcy5hcmcgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBDb250aW51ZVNlbnRpbmVsO1xuICAgIH1cbiAgfTtcblxuICAvLyBSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhpcyBzY3JpcHQgaXMgZXhlY3V0aW5nIGFzIGEgQ29tbW9uSlMgbW9kdWxlXG4gIC8vIG9yIG5vdCwgcmV0dXJuIHRoZSBydW50aW1lIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBkZWNsYXJlIHRoZSB2YXJpYWJsZVxuICAvLyByZWdlbmVyYXRvclJ1bnRpbWUgaW4gdGhlIG91dGVyIHNjb3BlLCB3aGljaCBhbGxvd3MgdGhpcyBtb2R1bGUgdG8gYmVcbiAgLy8gaW5qZWN0ZWQgZWFzaWx5IGJ5IGBiaW4vcmVnZW5lcmF0b3IgLS1pbmNsdWRlLXJ1bnRpbWUgc2NyaXB0LmpzYC5cbiAgcmV0dXJuIGV4cG9ydHM7XG5cbn0oXG4gIC8vIElmIHRoaXMgc2NyaXB0IGlzIGV4ZWN1dGluZyBhcyBhIENvbW1vbkpTIG1vZHVsZSwgdXNlIG1vZHVsZS5leHBvcnRzXG4gIC8vIGFzIHRoZSByZWdlbmVyYXRvclJ1bnRpbWUgbmFtZXNwYWNlLiBPdGhlcndpc2UgY3JlYXRlIGEgbmV3IGVtcHR5XG4gIC8vIG9iamVjdC4gRWl0aGVyIHdheSwgdGhlIHJlc3VsdGluZyBvYmplY3Qgd2lsbCBiZSB1c2VkIHRvIGluaXRpYWxpemVcbiAgLy8gdGhlIHJlZ2VuZXJhdG9yUnVudGltZSB2YXJpYWJsZSBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS5cbiAgdHlwZW9mIG1vZHVsZSA9PT0gXCJvYmplY3RcIiA/IG1vZHVsZS5leHBvcnRzIDoge31cbikpO1xuXG50cnkge1xuICByZWdlbmVyYXRvclJ1bnRpbWUgPSBydW50aW1lO1xufSBjYXRjaCAoYWNjaWRlbnRhbFN0cmljdE1vZGUpIHtcbiAgLy8gVGhpcyBtb2R1bGUgc2hvdWxkIG5vdCBiZSBydW5uaW5nIGluIHN0cmljdCBtb2RlLCBzbyB0aGUgYWJvdmVcbiAgLy8gYXNzaWdubWVudCBzaG91bGQgYWx3YXlzIHdvcmsgdW5sZXNzIHNvbWV0aGluZyBpcyBtaXNjb25maWd1cmVkLiBKdXN0XG4gIC8vIGluIGNhc2UgcnVudGltZS5qcyBhY2NpZGVudGFsbHkgcnVucyBpbiBzdHJpY3QgbW9kZSwgd2UgY2FuIGVzY2FwZVxuICAvLyBzdHJpY3QgbW9kZSB1c2luZyBhIGdsb2JhbCBGdW5jdGlvbiBjYWxsLiBUaGlzIGNvdWxkIGNvbmNlaXZhYmx5IGZhaWxcbiAgLy8gaWYgYSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBmb3JiaWRzIHVzaW5nIEZ1bmN0aW9uLCBidXQgaW4gdGhhdCBjYXNlXG4gIC8vIHRoZSBwcm9wZXIgc29sdXRpb24gaXMgdG8gZml4IHRoZSBhY2NpZGVudGFsIHN0cmljdCBtb2RlIHByb2JsZW0uIElmXG4gIC8vIHlvdSd2ZSBtaXNjb25maWd1cmVkIHlvdXIgYnVuZGxlciB0byBmb3JjZSBzdHJpY3QgbW9kZSBhbmQgYXBwbGllZCBhXG4gIC8vIENTUCB0byBmb3JiaWQgRnVuY3Rpb24sIGFuZCB5b3UncmUgbm90IHdpbGxpbmcgdG8gZml4IGVpdGhlciBvZiB0aG9zZVxuICAvLyBwcm9ibGVtcywgcGxlYXNlIGRldGFpbCB5b3VyIHVuaXF1ZSBwcmVkaWNhbWVudCBpbiBhIEdpdEh1YiBpc3N1ZS5cbiAgRnVuY3Rpb24oXCJyXCIsIFwicmVnZW5lcmF0b3JSdW50aW1lID0gclwiKShydW50aW1lKTtcbn1cbiJdLCJuYW1lcyI6WyJydW50aW1lIiwiZXhwb3J0cyIsIk9wIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duIiwiaGFzT3duUHJvcGVydHkiLCJ1bmRlZmluZWQiLCIkU3ltYm9sIiwiU3ltYm9sIiwiaXRlcmF0b3JTeW1ib2wiLCJpdGVyYXRvciIsImFzeW5jSXRlcmF0b3JTeW1ib2wiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWdTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsIndyYXAiLCJpbm5lckZuIiwib3V0ZXJGbiIsInNlbGYiLCJ0cnlMb2NzTGlzdCIsInByb3RvR2VuZXJhdG9yIiwiR2VuZXJhdG9yIiwiZ2VuZXJhdG9yIiwiY3JlYXRlIiwiY29udGV4dCIsIkNvbnRleHQiLCJfaW52b2tlIiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwiZm4iLCJvYmoiLCJhcmciLCJ0eXBlIiwiY2FsbCIsImVyciIsIkdlblN0YXRlU3VzcGVuZGVkU3RhcnQiLCJHZW5TdGF0ZVN1c3BlbmRlZFlpZWxkIiwiR2VuU3RhdGVFeGVjdXRpbmciLCJHZW5TdGF0ZUNvbXBsZXRlZCIsIkNvbnRpbnVlU2VudGluZWwiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiSXRlcmF0b3JQcm90b3R5cGUiLCJnZXRQcm90byIsImdldFByb3RvdHlwZU9mIiwiTmF0aXZlSXRlcmF0b3JQcm90b3R5cGUiLCJ2YWx1ZXMiLCJHcCIsImNvbnN0cnVjdG9yIiwiZGlzcGxheU5hbWUiLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwibWV0aG9kIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImdlbkZ1biIsImN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJfX2F3YWl0IiwiQXN5bmNJdGVyYXRvciIsIlByb21pc2VJbXBsIiwiaW52b2tlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlY29yZCIsInJlc3VsdCIsInZhbHVlIiwidGhlbiIsInVud3JhcHBlZCIsImVycm9yIiwicHJldmlvdXNQcm9taXNlIiwiZW5xdWV1ZSIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiYXN5bmMiLCJQcm9taXNlIiwiaXRlciIsIm5leHQiLCJkb25lIiwic3RhdGUiLCJFcnJvciIsImRvbmVSZXN1bHQiLCJkZWxlZ2F0ZSIsImRlbGVnYXRlUmVzdWx0IiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwiaW5mbyIsInJlc3VsdE5hbWUiLCJuZXh0TG9jIiwidG9TdHJpbmciLCJwdXNoVHJ5RW50cnkiLCJsb2NzIiwiZW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImtleXMiLCJvYmplY3QiLCJrZXkiLCJyZXZlcnNlIiwibGVuZ3RoIiwicG9wIiwiaXRlcmFibGUiLCJpdGVyYXRvck1ldGhvZCIsImlzTmFOIiwiaSIsInNraXBUZW1wUmVzZXQiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicm9vdEVudHJ5Iiwicm9vdFJlY29yZCIsInJ2YWwiLCJleGNlcHRpb24iLCJoYW5kbGUiLCJsb2MiLCJjYXVnaHQiLCJoYXNDYXRjaCIsImhhc0ZpbmFsbHkiLCJmaW5hbGx5RW50cnkiLCJjb21wbGV0ZSIsImZpbmlzaCIsInRocm93biIsImRlbGVnYXRlWWllbGQiLCJtb2R1bGUiLCJyZWdlbmVyYXRvclJ1bnRpbWUiLCJhY2NpZGVudGFsU3RyaWN0TW9kZSIsIkZ1bmN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQU9BLE1BQUlBLE9BQU8sR0FBSSxVQUFVQyxPQUFWLEVBQW1CO0FBQ2hDO0FBRUEsUUFBSUMsRUFBRSxHQUFHQyxNQUFNLENBQUNDLFNBQWhCO0FBQ0EsUUFBSUMsTUFBTSxHQUFHSCxFQUFFLENBQUNJLGNBQWhCO0FBQ0EsUUFBSUMsV0FBSixDQUxnQzs7QUFNaEMsUUFBSUMsT0FBTyxHQUFHLE9BQU9DLE1BQVAsS0FBa0IsVUFBbEIsR0FBK0JBLE1BQS9CLEdBQXdDLEVBQXREO0FBQ0EsUUFBSUMsY0FBYyxHQUFHRixPQUFPLENBQUNHLFFBQVIsSUFBb0IsWUFBekM7QUFDQSxRQUFJQyxtQkFBbUIsR0FBR0osT0FBTyxDQUFDSyxhQUFSLElBQXlCLGlCQUFuRDtBQUNBLFFBQUlDLGlCQUFpQixHQUFHTixPQUFPLENBQUNPLFdBQVIsSUFBdUIsZUFBL0M7O0FBRUEsYUFBU0MsSUFBVCxDQUFjQyxPQUFkLEVBQXVCQyxPQUF2QixFQUFnQ0MsSUFBaEMsRUFBc0NDLFdBQXRDLEVBQW1EOztBQUVqRCxVQUFJQyxjQUFjLEdBQUdILE9BQU8sSUFBSUEsT0FBTyxDQUFDZCxTQUFSLFlBQTZCa0IsU0FBeEMsR0FBb0RKLE9BQXBELEdBQThESSxTQUFuRjtBQUNBLFVBQUlDLFNBQVMsR0FBR3BCLE1BQU0sQ0FBQ3FCLE1BQVAsQ0FBY0gsY0FBYyxDQUFDakIsU0FBN0IsQ0FBaEI7QUFDQSxVQUFJcUIsT0FBTyxHQUFHLElBQUlDLE9BQUosQ0FBWU4sV0FBVyxJQUFJLEVBQTNCLENBQWQsQ0FKaUQ7OztBQVFqREcsTUFBQUEsU0FBUyxDQUFDSSxPQUFWLEdBQW9CQyxnQkFBZ0IsQ0FBQ1gsT0FBRCxFQUFVRSxJQUFWLEVBQWdCTSxPQUFoQixDQUFwQztBQUVBLGFBQU9GLFNBQVA7QUFDRDs7QUFDRHRCLElBQUFBLE9BQU8sQ0FBQ2UsSUFBUixHQUFlQSxJQUFmLENBdkJnQzs7Ozs7Ozs7Ozs7QUFtQ2hDLGFBQVNhLFFBQVQsQ0FBa0JDLEVBQWxCLEVBQXNCQyxHQUF0QixFQUEyQkMsR0FBM0IsRUFBZ0M7QUFDOUIsVUFBSTtBQUNGLGVBQU87QUFBRUMsVUFBQUEsSUFBSSxFQUFFLFFBQVI7QUFBa0JELFVBQUFBLEdBQUcsRUFBRUYsRUFBRSxDQUFDSSxJQUFILENBQVFILEdBQVIsRUFBYUMsR0FBYjtBQUF2QixTQUFQO0FBQ0QsT0FGRCxDQUVFLE9BQU9HLEdBQVAsRUFBWTtBQUNaLGVBQU87QUFBRUYsVUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJELFVBQUFBLEdBQUcsRUFBRUc7QUFBdEIsU0FBUDtBQUNEO0FBQ0Y7O0FBRUQsUUFBSUMsc0JBQXNCLEdBQUcsZ0JBQTdCO0FBQ0EsUUFBSUMsc0JBQXNCLEdBQUcsZ0JBQTdCO0FBQ0EsUUFBSUMsaUJBQWlCLEdBQUcsV0FBeEI7QUFDQSxRQUFJQyxpQkFBaUIsR0FBRyxXQUF4QixDQTlDZ0M7OztBQWtEaEMsUUFBSUMsZ0JBQWdCLEdBQUcsRUFBdkIsQ0FsRGdDOzs7OztBQXdEaEMsYUFBU2xCLFNBQVQsR0FBcUI7O0FBQ3JCLGFBQVNtQixpQkFBVCxHQUE2Qjs7QUFDN0IsYUFBU0MsMEJBQVQsR0FBc0MsRUExRE47Ozs7QUE4RGhDLFFBQUlDLGlCQUFpQixHQUFHLEVBQXhCOztBQUNBQSxJQUFBQSxpQkFBaUIsQ0FBQ2pDLGNBQUQsQ0FBakIsR0FBb0MsWUFBWTtBQUM5QyxhQUFPLElBQVA7QUFDRCxLQUZEOztBQUlBLFFBQUlrQyxRQUFRLEdBQUd6QyxNQUFNLENBQUMwQyxjQUF0QjtBQUNBLFFBQUlDLHVCQUF1QixHQUFHRixRQUFRLElBQUlBLFFBQVEsQ0FBQ0EsUUFBUSxDQUFDRyxNQUFNLENBQUMsRUFBRCxDQUFQLENBQVQsQ0FBbEQ7O0FBQ0EsUUFBSUQsdUJBQXVCLElBQ3ZCQSx1QkFBdUIsS0FBSzVDLEVBRDVCLElBRUFHLE1BQU0sQ0FBQzZCLElBQVAsQ0FBWVksdUJBQVosRUFBcUNwQyxjQUFyQyxDQUZKLEVBRTBEOzs7QUFHeERpQyxNQUFBQSxpQkFBaUIsR0FBR0csdUJBQXBCO0FBQ0Q7O0FBRUQsUUFBSUUsRUFBRSxHQUFHTiwwQkFBMEIsQ0FBQ3RDLFNBQTNCLEdBQ1BrQixTQUFTLENBQUNsQixTQUFWLEdBQXNCRCxNQUFNLENBQUNxQixNQUFQLENBQWNtQixpQkFBZCxDQUR4QjtBQUVBRixJQUFBQSxpQkFBaUIsQ0FBQ3JDLFNBQWxCLEdBQThCNEMsRUFBRSxDQUFDQyxXQUFILEdBQWlCUCwwQkFBL0M7QUFDQUEsSUFBQUEsMEJBQTBCLENBQUNPLFdBQTNCLEdBQXlDUixpQkFBekM7QUFDQUMsSUFBQUEsMEJBQTBCLENBQUM1QixpQkFBRCxDQUExQixHQUNFMkIsaUJBQWlCLENBQUNTLFdBQWxCLEdBQWdDLG1CQURsQyxDQWpGZ0M7OztBQXNGaEMsYUFBU0MscUJBQVQsQ0FBK0IvQyxTQUEvQixFQUEwQztBQUN4QyxPQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCLFFBQWxCLEVBQTRCZ0QsT0FBNUIsQ0FBb0MsVUFBU0MsTUFBVCxFQUFpQjtBQUNuRGpELFFBQUFBLFNBQVMsQ0FBQ2lELE1BQUQsQ0FBVCxHQUFvQixVQUFTckIsR0FBVCxFQUFjO0FBQ2hDLGlCQUFPLEtBQUtMLE9BQUwsQ0FBYTBCLE1BQWIsRUFBcUJyQixHQUFyQixDQUFQO0FBQ0QsU0FGRDtBQUdELE9BSkQ7QUFLRDs7QUFFRC9CLElBQUFBLE9BQU8sQ0FBQ3FELG1CQUFSLEdBQThCLFVBQVNDLE1BQVQsRUFBaUI7QUFDN0MsVUFBSUMsSUFBSSxHQUFHLE9BQU9ELE1BQVAsS0FBa0IsVUFBbEIsSUFBZ0NBLE1BQU0sQ0FBQ04sV0FBbEQ7QUFDQSxhQUFPTyxJQUFJLEdBQ1BBLElBQUksS0FBS2YsaUJBQVQ7O0FBR0EsT0FBQ2UsSUFBSSxDQUFDTixXQUFMLElBQW9CTSxJQUFJLENBQUNDLElBQTFCLE1BQW9DLG1CQUo3QixHQUtQLEtBTEo7QUFNRCxLQVJEOztBQVVBeEQsSUFBQUEsT0FBTyxDQUFDeUQsSUFBUixHQUFlLFVBQVNILE1BQVQsRUFBaUI7QUFDOUIsVUFBSXBELE1BQU0sQ0FBQ3dELGNBQVgsRUFBMkI7QUFDekJ4RCxRQUFBQSxNQUFNLENBQUN3RCxjQUFQLENBQXNCSixNQUF0QixFQUE4QmIsMEJBQTlCO0FBQ0QsT0FGRCxNQUVPO0FBQ0xhLFFBQUFBLE1BQU0sQ0FBQ0ssU0FBUCxHQUFtQmxCLDBCQUFuQjs7QUFDQSxZQUFJLEVBQUU1QixpQkFBaUIsSUFBSXlDLE1BQXZCLENBQUosRUFBb0M7QUFDbENBLFVBQUFBLE1BQU0sQ0FBQ3pDLGlCQUFELENBQU4sR0FBNEIsbUJBQTVCO0FBQ0Q7QUFDRjs7QUFDRHlDLE1BQUFBLE1BQU0sQ0FBQ25ELFNBQVAsR0FBbUJELE1BQU0sQ0FBQ3FCLE1BQVAsQ0FBY3dCLEVBQWQsQ0FBbkI7QUFDQSxhQUFPTyxNQUFQO0FBQ0QsS0FYRCxDQXhHZ0M7Ozs7OztBQXlIaEN0RCxJQUFBQSxPQUFPLENBQUM0RCxLQUFSLEdBQWdCLFVBQVM3QixHQUFULEVBQWM7QUFDNUIsYUFBTztBQUFFOEIsUUFBQUEsT0FBTyxFQUFFOUI7QUFBWCxPQUFQO0FBQ0QsS0FGRDs7QUFJQSxhQUFTK0IsYUFBVCxDQUF1QnhDLFNBQXZCLEVBQWtDeUMsV0FBbEMsRUFBK0M7QUFDN0MsZUFBU0MsTUFBVCxDQUFnQlosTUFBaEIsRUFBd0JyQixHQUF4QixFQUE2QmtDLE9BQTdCLEVBQXNDQyxNQUF0QyxFQUE4QztBQUM1QyxZQUFJQyxNQUFNLEdBQUd2QyxRQUFRLENBQUNOLFNBQVMsQ0FBQzhCLE1BQUQsQ0FBVixFQUFvQjlCLFNBQXBCLEVBQStCUyxHQUEvQixDQUFyQjs7QUFDQSxZQUFJb0MsTUFBTSxDQUFDbkMsSUFBUCxLQUFnQixPQUFwQixFQUE2QjtBQUMzQmtDLFVBQUFBLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDcEMsR0FBUixDQUFOO0FBQ0QsU0FGRCxNQUVPO0FBQ0wsY0FBSXFDLE1BQU0sR0FBR0QsTUFBTSxDQUFDcEMsR0FBcEI7QUFDQSxjQUFJc0MsS0FBSyxHQUFHRCxNQUFNLENBQUNDLEtBQW5COztBQUNBLGNBQUlBLEtBQUssSUFDTCxPQUFPQSxLQUFQLEtBQWlCLFFBRGpCLElBRUFqRSxNQUFNLENBQUM2QixJQUFQLENBQVlvQyxLQUFaLEVBQW1CLFNBQW5CLENBRkosRUFFbUM7QUFDakMsbUJBQU9OLFdBQVcsQ0FBQ0UsT0FBWixDQUFvQkksS0FBSyxDQUFDUixPQUExQixFQUFtQ1MsSUFBbkMsQ0FBd0MsVUFBU0QsS0FBVCxFQUFnQjtBQUM3REwsY0FBQUEsTUFBTSxDQUFDLE1BQUQsRUFBU0ssS0FBVCxFQUFnQkosT0FBaEIsRUFBeUJDLE1BQXpCLENBQU47QUFDRCxhQUZNLEVBRUosVUFBU2hDLEdBQVQsRUFBYztBQUNmOEIsY0FBQUEsTUFBTSxDQUFDLE9BQUQsRUFBVTlCLEdBQVYsRUFBZStCLE9BQWYsRUFBd0JDLE1BQXhCLENBQU47QUFDRCxhQUpNLENBQVA7QUFLRDs7QUFFRCxpQkFBT0gsV0FBVyxDQUFDRSxPQUFaLENBQW9CSSxLQUFwQixFQUEyQkMsSUFBM0IsQ0FBZ0MsVUFBU0MsU0FBVCxFQUFvQjs7OztBQUl6REgsWUFBQUEsTUFBTSxDQUFDQyxLQUFQLEdBQWVFLFNBQWY7QUFDQU4sWUFBQUEsT0FBTyxDQUFDRyxNQUFELENBQVA7QUFDRCxXQU5NLEVBTUosVUFBU0ksS0FBVCxFQUFnQjs7O0FBR2pCLG1CQUFPUixNQUFNLENBQUMsT0FBRCxFQUFVUSxLQUFWLEVBQWlCUCxPQUFqQixFQUEwQkMsTUFBMUIsQ0FBYjtBQUNELFdBVk0sQ0FBUDtBQVdEO0FBQ0Y7O0FBRUQsVUFBSU8sZUFBSjs7QUFFQSxlQUFTQyxPQUFULENBQWlCdEIsTUFBakIsRUFBeUJyQixHQUF6QixFQUE4QjtBQUM1QixpQkFBUzRDLDBCQUFULEdBQXNDO0FBQ3BDLGlCQUFPLElBQUlaLFdBQUosQ0FBZ0IsVUFBU0UsT0FBVCxFQUFrQkMsTUFBbEIsRUFBMEI7QUFDL0NGLFlBQUFBLE1BQU0sQ0FBQ1osTUFBRCxFQUFTckIsR0FBVCxFQUFja0MsT0FBZCxFQUF1QkMsTUFBdkIsQ0FBTjtBQUNELFdBRk0sQ0FBUDtBQUdEOztBQUVELGVBQU9PLGVBQWU7Ozs7Ozs7Ozs7OztBQWFwQkEsUUFBQUEsZUFBZSxHQUFHQSxlQUFlLENBQUNILElBQWhCLENBQ2hCSywwQkFEZ0I7O0FBSWhCQSxRQUFBQSwwQkFKZ0IsQ0FBSCxHQUtYQSwwQkFBMEIsRUFsQmhDO0FBbUJELE9BNUQ0Qzs7OztBQWdFN0MsV0FBS2pELE9BQUwsR0FBZWdELE9BQWY7QUFDRDs7QUFFRHhCLElBQUFBLHFCQUFxQixDQUFDWSxhQUFhLENBQUMzRCxTQUFmLENBQXJCOztBQUNBMkQsSUFBQUEsYUFBYSxDQUFDM0QsU0FBZCxDQUF3QlEsbUJBQXhCLElBQStDLFlBQVk7QUFDekQsYUFBTyxJQUFQO0FBQ0QsS0FGRDs7QUFHQVgsSUFBQUEsT0FBTyxDQUFDOEQsYUFBUixHQUF3QkEsYUFBeEIsQ0FwTWdDOzs7O0FBeU1oQzlELElBQUFBLE9BQU8sQ0FBQzRFLEtBQVIsR0FBZ0IsVUFBUzVELE9BQVQsRUFBa0JDLE9BQWxCLEVBQTJCQyxJQUEzQixFQUFpQ0MsV0FBakMsRUFBOEM0QyxXQUE5QyxFQUEyRDtBQUN6RSxVQUFJQSxXQUFXLEtBQUssS0FBSyxDQUF6QixFQUE0QkEsV0FBVyxHQUFHYyxPQUFkO0FBRTVCLFVBQUlDLElBQUksR0FBRyxJQUFJaEIsYUFBSixDQUNUL0MsSUFBSSxDQUFDQyxPQUFELEVBQVVDLE9BQVYsRUFBbUJDLElBQW5CLEVBQXlCQyxXQUF6QixDQURLLEVBRVQ0QyxXQUZTLENBQVg7QUFLQSxhQUFPL0QsT0FBTyxDQUFDcUQsbUJBQVIsQ0FBNEJwQyxPQUE1QixJQUNINkQsSUFERztBQUFBLFFBRUhBLElBQUksQ0FBQ0MsSUFBTCxHQUFZVCxJQUFaLENBQWlCLFVBQVNGLE1BQVQsRUFBaUI7QUFDaEMsZUFBT0EsTUFBTSxDQUFDWSxJQUFQLEdBQWNaLE1BQU0sQ0FBQ0MsS0FBckIsR0FBNkJTLElBQUksQ0FBQ0MsSUFBTCxFQUFwQztBQUNELE9BRkQsQ0FGSjtBQUtELEtBYkQ7O0FBZUEsYUFBU3BELGdCQUFULENBQTBCWCxPQUExQixFQUFtQ0UsSUFBbkMsRUFBeUNNLE9BQXpDLEVBQWtEO0FBQ2hELFVBQUl5RCxLQUFLLEdBQUc5QyxzQkFBWjtBQUVBLGFBQU8sU0FBUzZCLE1BQVQsQ0FBZ0JaLE1BQWhCLEVBQXdCckIsR0FBeEIsRUFBNkI7QUFDbEMsWUFBSWtELEtBQUssS0FBSzVDLGlCQUFkLEVBQWlDO0FBQy9CLGdCQUFNLElBQUk2QyxLQUFKLENBQVUsOEJBQVYsQ0FBTjtBQUNEOztBQUVELFlBQUlELEtBQUssS0FBSzNDLGlCQUFkLEVBQWlDO0FBQy9CLGNBQUljLE1BQU0sS0FBSyxPQUFmLEVBQXdCO0FBQ3RCLGtCQUFNckIsR0FBTjtBQUNELFdBSDhCOzs7O0FBTy9CLGlCQUFPb0QsVUFBVSxFQUFqQjtBQUNEOztBQUVEM0QsUUFBQUEsT0FBTyxDQUFDNEIsTUFBUixHQUFpQkEsTUFBakI7QUFDQTVCLFFBQUFBLE9BQU8sQ0FBQ08sR0FBUixHQUFjQSxHQUFkOztBQUVBLGVBQU8sSUFBUCxFQUFhO0FBQ1gsY0FBSXFELFFBQVEsR0FBRzVELE9BQU8sQ0FBQzRELFFBQXZCOztBQUNBLGNBQUlBLFFBQUosRUFBYztBQUNaLGdCQUFJQyxjQUFjLEdBQUdDLG1CQUFtQixDQUFDRixRQUFELEVBQVc1RCxPQUFYLENBQXhDOztBQUNBLGdCQUFJNkQsY0FBSixFQUFvQjtBQUNsQixrQkFBSUEsY0FBYyxLQUFLOUMsZ0JBQXZCLEVBQXlDO0FBQ3pDLHFCQUFPOEMsY0FBUDtBQUNEO0FBQ0Y7O0FBRUQsY0FBSTdELE9BQU8sQ0FBQzRCLE1BQVIsS0FBbUIsTUFBdkIsRUFBK0I7OztBQUc3QjVCLFlBQUFBLE9BQU8sQ0FBQytELElBQVIsR0FBZS9ELE9BQU8sQ0FBQ2dFLEtBQVIsR0FBZ0JoRSxPQUFPLENBQUNPLEdBQXZDO0FBRUQsV0FMRCxNQUtPLElBQUlQLE9BQU8sQ0FBQzRCLE1BQVIsS0FBbUIsT0FBdkIsRUFBZ0M7QUFDckMsZ0JBQUk2QixLQUFLLEtBQUs5QyxzQkFBZCxFQUFzQztBQUNwQzhDLGNBQUFBLEtBQUssR0FBRzNDLGlCQUFSO0FBQ0Esb0JBQU1kLE9BQU8sQ0FBQ08sR0FBZDtBQUNEOztBQUVEUCxZQUFBQSxPQUFPLENBQUNpRSxpQkFBUixDQUEwQmpFLE9BQU8sQ0FBQ08sR0FBbEM7QUFFRCxXQVJNLE1BUUEsSUFBSVAsT0FBTyxDQUFDNEIsTUFBUixLQUFtQixRQUF2QixFQUFpQztBQUN0QzVCLFlBQUFBLE9BQU8sQ0FBQ2tFLE1BQVIsQ0FBZSxRQUFmLEVBQXlCbEUsT0FBTyxDQUFDTyxHQUFqQztBQUNEOztBQUVEa0QsVUFBQUEsS0FBSyxHQUFHNUMsaUJBQVI7QUFFQSxjQUFJOEIsTUFBTSxHQUFHdkMsUUFBUSxDQUFDWixPQUFELEVBQVVFLElBQVYsRUFBZ0JNLE9BQWhCLENBQXJCOztBQUNBLGNBQUkyQyxNQUFNLENBQUNuQyxJQUFQLEtBQWdCLFFBQXBCLEVBQThCOzs7QUFHNUJpRCxZQUFBQSxLQUFLLEdBQUd6RCxPQUFPLENBQUN3RCxJQUFSLEdBQ0oxQyxpQkFESSxHQUVKRixzQkFGSjs7QUFJQSxnQkFBSStCLE1BQU0sQ0FBQ3BDLEdBQVAsS0FBZVEsZ0JBQW5CLEVBQXFDO0FBQ25DO0FBQ0Q7O0FBRUQsbUJBQU87QUFDTDhCLGNBQUFBLEtBQUssRUFBRUYsTUFBTSxDQUFDcEMsR0FEVDtBQUVMaUQsY0FBQUEsSUFBSSxFQUFFeEQsT0FBTyxDQUFDd0Q7QUFGVCxhQUFQO0FBS0QsV0FoQkQsTUFnQk8sSUFBSWIsTUFBTSxDQUFDbkMsSUFBUCxLQUFnQixPQUFwQixFQUE2QjtBQUNsQ2lELFlBQUFBLEtBQUssR0FBRzNDLGlCQUFSLENBRGtDOzs7QUFJbENkLFlBQUFBLE9BQU8sQ0FBQzRCLE1BQVIsR0FBaUIsT0FBakI7QUFDQTVCLFlBQUFBLE9BQU8sQ0FBQ08sR0FBUixHQUFjb0MsTUFBTSxDQUFDcEMsR0FBckI7QUFDRDtBQUNGO0FBQ0YsT0F4RUQ7QUF5RUQsS0FwUytCOzs7Ozs7QUEwU2hDLGFBQVN1RCxtQkFBVCxDQUE2QkYsUUFBN0IsRUFBdUM1RCxPQUF2QyxFQUFnRDtBQUM5QyxVQUFJNEIsTUFBTSxHQUFHZ0MsUUFBUSxDQUFDMUUsUUFBVCxDQUFrQmMsT0FBTyxDQUFDNEIsTUFBMUIsQ0FBYjs7QUFDQSxVQUFJQSxNQUFNLEtBQUs5QyxXQUFmLEVBQTBCOzs7QUFHeEJrQixRQUFBQSxPQUFPLENBQUM0RCxRQUFSLEdBQW1CLElBQW5COztBQUVBLFlBQUk1RCxPQUFPLENBQUM0QixNQUFSLEtBQW1CLE9BQXZCLEVBQWdDOztBQUU5QixjQUFJZ0MsUUFBUSxDQUFDMUUsUUFBVCxDQUFrQixRQUFsQixDQUFKLEVBQWlDOzs7QUFHL0JjLFlBQUFBLE9BQU8sQ0FBQzRCLE1BQVIsR0FBaUIsUUFBakI7QUFDQTVCLFlBQUFBLE9BQU8sQ0FBQ08sR0FBUixHQUFjekIsV0FBZDtBQUNBZ0YsWUFBQUEsbUJBQW1CLENBQUNGLFFBQUQsRUFBVzVELE9BQVgsQ0FBbkI7O0FBRUEsZ0JBQUlBLE9BQU8sQ0FBQzRCLE1BQVIsS0FBbUIsT0FBdkIsRUFBZ0M7OztBQUc5QixxQkFBT2IsZ0JBQVA7QUFDRDtBQUNGOztBQUVEZixVQUFBQSxPQUFPLENBQUM0QixNQUFSLEdBQWlCLE9BQWpCO0FBQ0E1QixVQUFBQSxPQUFPLENBQUNPLEdBQVIsR0FBYyxJQUFJNEQsU0FBSixDQUNaLGdEQURZLENBQWQ7QUFFRDs7QUFFRCxlQUFPcEQsZ0JBQVA7QUFDRDs7QUFFRCxVQUFJNEIsTUFBTSxHQUFHdkMsUUFBUSxDQUFDd0IsTUFBRCxFQUFTZ0MsUUFBUSxDQUFDMUUsUUFBbEIsRUFBNEJjLE9BQU8sQ0FBQ08sR0FBcEMsQ0FBckI7O0FBRUEsVUFBSW9DLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsT0FBcEIsRUFBNkI7QUFDM0JSLFFBQUFBLE9BQU8sQ0FBQzRCLE1BQVIsR0FBaUIsT0FBakI7QUFDQTVCLFFBQUFBLE9BQU8sQ0FBQ08sR0FBUixHQUFjb0MsTUFBTSxDQUFDcEMsR0FBckI7QUFDQVAsUUFBQUEsT0FBTyxDQUFDNEQsUUFBUixHQUFtQixJQUFuQjtBQUNBLGVBQU83QyxnQkFBUDtBQUNEOztBQUVELFVBQUlxRCxJQUFJLEdBQUd6QixNQUFNLENBQUNwQyxHQUFsQjs7QUFFQSxVQUFJLENBQUU2RCxJQUFOLEVBQVk7QUFDVnBFLFFBQUFBLE9BQU8sQ0FBQzRCLE1BQVIsR0FBaUIsT0FBakI7QUFDQTVCLFFBQUFBLE9BQU8sQ0FBQ08sR0FBUixHQUFjLElBQUk0RCxTQUFKLENBQWMsa0NBQWQsQ0FBZDtBQUNBbkUsUUFBQUEsT0FBTyxDQUFDNEQsUUFBUixHQUFtQixJQUFuQjtBQUNBLGVBQU83QyxnQkFBUDtBQUNEOztBQUVELFVBQUlxRCxJQUFJLENBQUNaLElBQVQsRUFBZTs7O0FBR2J4RCxRQUFBQSxPQUFPLENBQUM0RCxRQUFRLENBQUNTLFVBQVYsQ0FBUCxHQUErQkQsSUFBSSxDQUFDdkIsS0FBcEMsQ0FIYTs7QUFNYjdDLFFBQUFBLE9BQU8sQ0FBQ3VELElBQVIsR0FBZUssUUFBUSxDQUFDVSxPQUF4QixDQU5hOzs7Ozs7O0FBY2IsWUFBSXRFLE9BQU8sQ0FBQzRCLE1BQVIsS0FBbUIsUUFBdkIsRUFBaUM7QUFDL0I1QixVQUFBQSxPQUFPLENBQUM0QixNQUFSLEdBQWlCLE1BQWpCO0FBQ0E1QixVQUFBQSxPQUFPLENBQUNPLEdBQVIsR0FBY3pCLFdBQWQ7QUFDRDtBQUVGLE9BbkJELE1BbUJPOztBQUVMLGVBQU9zRixJQUFQO0FBQ0QsT0F2RTZDOzs7O0FBMkU5Q3BFLE1BQUFBLE9BQU8sQ0FBQzRELFFBQVIsR0FBbUIsSUFBbkI7QUFDQSxhQUFPN0MsZ0JBQVA7QUFDRCxLQXZYK0I7Ozs7QUEyWGhDVyxJQUFBQSxxQkFBcUIsQ0FBQ0gsRUFBRCxDQUFyQjtBQUVBQSxJQUFBQSxFQUFFLENBQUNsQyxpQkFBRCxDQUFGLEdBQXdCLFdBQXhCLENBN1hnQzs7Ozs7O0FBb1loQ2tDLElBQUFBLEVBQUUsQ0FBQ3RDLGNBQUQsQ0FBRixHQUFxQixZQUFXO0FBQzlCLGFBQU8sSUFBUDtBQUNELEtBRkQ7O0FBSUFzQyxJQUFBQSxFQUFFLENBQUNnRCxRQUFILEdBQWMsWUFBVztBQUN2QixhQUFPLG9CQUFQO0FBQ0QsS0FGRDs7QUFJQSxhQUFTQyxZQUFULENBQXNCQyxJQUF0QixFQUE0QjtBQUMxQixVQUFJQyxLQUFLLEdBQUc7QUFBRUMsUUFBQUEsTUFBTSxFQUFFRixJQUFJLENBQUMsQ0FBRDtBQUFkLE9BQVo7O0FBRUEsVUFBSSxLQUFLQSxJQUFULEVBQWU7QUFDYkMsUUFBQUEsS0FBSyxDQUFDRSxRQUFOLEdBQWlCSCxJQUFJLENBQUMsQ0FBRCxDQUFyQjtBQUNEOztBQUVELFVBQUksS0FBS0EsSUFBVCxFQUFlO0FBQ2JDLFFBQUFBLEtBQUssQ0FBQ0csVUFBTixHQUFtQkosSUFBSSxDQUFDLENBQUQsQ0FBdkI7QUFDQUMsUUFBQUEsS0FBSyxDQUFDSSxRQUFOLEdBQWlCTCxJQUFJLENBQUMsQ0FBRCxDQUFyQjtBQUNEOztBQUVELFdBQUtNLFVBQUwsQ0FBZ0JDLElBQWhCLENBQXFCTixLQUFyQjtBQUNEOztBQUVELGFBQVNPLGFBQVQsQ0FBdUJQLEtBQXZCLEVBQThCO0FBQzVCLFVBQUkvQixNQUFNLEdBQUcrQixLQUFLLENBQUNRLFVBQU4sSUFBb0IsRUFBakM7QUFDQXZDLE1BQUFBLE1BQU0sQ0FBQ25DLElBQVAsR0FBYyxRQUFkO0FBQ0EsYUFBT21DLE1BQU0sQ0FBQ3BDLEdBQWQ7QUFDQW1FLE1BQUFBLEtBQUssQ0FBQ1EsVUFBTixHQUFtQnZDLE1BQW5CO0FBQ0Q7O0FBRUQsYUFBUzFDLE9BQVQsQ0FBaUJOLFdBQWpCLEVBQThCOzs7O0FBSTVCLFdBQUtvRixVQUFMLEdBQWtCLENBQUM7QUFBRUosUUFBQUEsTUFBTSxFQUFFO0FBQVYsT0FBRCxDQUFsQjtBQUNBaEYsTUFBQUEsV0FBVyxDQUFDZ0MsT0FBWixDQUFvQjZDLFlBQXBCLEVBQWtDLElBQWxDO0FBQ0EsV0FBS1csS0FBTCxDQUFXLElBQVg7QUFDRDs7QUFFRDNHLElBQUFBLE9BQU8sQ0FBQzRHLElBQVIsR0FBZSxVQUFTQyxNQUFULEVBQWlCO0FBQzlCLFVBQUlELElBQUksR0FBRyxFQUFYOztBQUNBLFdBQUssSUFBSUUsR0FBVCxJQUFnQkQsTUFBaEIsRUFBd0I7QUFDdEJELFFBQUFBLElBQUksQ0FBQ0osSUFBTCxDQUFVTSxHQUFWO0FBQ0Q7O0FBQ0RGLE1BQUFBLElBQUksQ0FBQ0csT0FBTCxHQUw4Qjs7O0FBUzlCLGFBQU8sU0FBU2hDLElBQVQsR0FBZ0I7QUFDckIsZUFBTzZCLElBQUksQ0FBQ0ksTUFBWixFQUFvQjtBQUNsQixjQUFJRixHQUFHLEdBQUdGLElBQUksQ0FBQ0ssR0FBTCxFQUFWOztBQUNBLGNBQUlILEdBQUcsSUFBSUQsTUFBWCxFQUFtQjtBQUNqQjlCLFlBQUFBLElBQUksQ0FBQ1YsS0FBTCxHQUFheUMsR0FBYjtBQUNBL0IsWUFBQUEsSUFBSSxDQUFDQyxJQUFMLEdBQVksS0FBWjtBQUNBLG1CQUFPRCxJQUFQO0FBQ0Q7QUFDRixTQVJvQjs7Ozs7QUFhckJBLFFBQUFBLElBQUksQ0FBQ0MsSUFBTCxHQUFZLElBQVo7QUFDQSxlQUFPRCxJQUFQO0FBQ0QsT0FmRDtBQWdCRCxLQXpCRDs7QUEyQkEsYUFBU2pDLE1BQVQsQ0FBZ0JvRSxRQUFoQixFQUEwQjtBQUN4QixVQUFJQSxRQUFKLEVBQWM7QUFDWixZQUFJQyxjQUFjLEdBQUdELFFBQVEsQ0FBQ3pHLGNBQUQsQ0FBN0I7O0FBQ0EsWUFBSTBHLGNBQUosRUFBb0I7QUFDbEIsaUJBQU9BLGNBQWMsQ0FBQ2xGLElBQWYsQ0FBb0JpRixRQUFwQixDQUFQO0FBQ0Q7O0FBRUQsWUFBSSxPQUFPQSxRQUFRLENBQUNuQyxJQUFoQixLQUF5QixVQUE3QixFQUF5QztBQUN2QyxpQkFBT21DLFFBQVA7QUFDRDs7QUFFRCxZQUFJLENBQUNFLEtBQUssQ0FBQ0YsUUFBUSxDQUFDRixNQUFWLENBQVYsRUFBNkI7QUFDM0IsY0FBSUssQ0FBQyxHQUFHLENBQUMsQ0FBVDtBQUFBLGNBQVl0QyxJQUFJLEdBQUcsU0FBU0EsSUFBVCxHQUFnQjtBQUNqQyxtQkFBTyxFQUFFc0MsQ0FBRixHQUFNSCxRQUFRLENBQUNGLE1BQXRCLEVBQThCO0FBQzVCLGtCQUFJNUcsTUFBTSxDQUFDNkIsSUFBUCxDQUFZaUYsUUFBWixFQUFzQkcsQ0FBdEIsQ0FBSixFQUE4QjtBQUM1QnRDLGdCQUFBQSxJQUFJLENBQUNWLEtBQUwsR0FBYTZDLFFBQVEsQ0FBQ0csQ0FBRCxDQUFyQjtBQUNBdEMsZ0JBQUFBLElBQUksQ0FBQ0MsSUFBTCxHQUFZLEtBQVo7QUFDQSx1QkFBT0QsSUFBUDtBQUNEO0FBQ0Y7O0FBRURBLFlBQUFBLElBQUksQ0FBQ1YsS0FBTCxHQUFhL0QsV0FBYjtBQUNBeUUsWUFBQUEsSUFBSSxDQUFDQyxJQUFMLEdBQVksSUFBWjtBQUVBLG1CQUFPRCxJQUFQO0FBQ0QsV0FiRDs7QUFlQSxpQkFBT0EsSUFBSSxDQUFDQSxJQUFMLEdBQVlBLElBQW5CO0FBQ0Q7QUFDRixPQTdCdUI7OztBQWdDeEIsYUFBTztBQUFFQSxRQUFBQSxJQUFJLEVBQUVJO0FBQVIsT0FBUDtBQUNEOztBQUNEbkYsSUFBQUEsT0FBTyxDQUFDOEMsTUFBUixHQUFpQkEsTUFBakI7O0FBRUEsYUFBU3FDLFVBQVQsR0FBc0I7QUFDcEIsYUFBTztBQUFFZCxRQUFBQSxLQUFLLEVBQUUvRCxXQUFUO0FBQW9CMEUsUUFBQUEsSUFBSSxFQUFFO0FBQTFCLE9BQVA7QUFDRDs7QUFFRHZELElBQUFBLE9BQU8sQ0FBQ3RCLFNBQVIsR0FBb0I7QUFDbEI2QyxNQUFBQSxXQUFXLEVBQUV2QixPQURLO0FBR2xCa0YsTUFBQUEsS0FBSyxFQUFFLFVBQVNXLGFBQVQsRUFBd0I7QUFDN0IsYUFBS0MsSUFBTCxHQUFZLENBQVo7QUFDQSxhQUFLeEMsSUFBTCxHQUFZLENBQVosQ0FGNkI7OztBQUs3QixhQUFLUSxJQUFMLEdBQVksS0FBS0MsS0FBTCxHQUFhbEYsV0FBekI7QUFDQSxhQUFLMEUsSUFBTCxHQUFZLEtBQVo7QUFDQSxhQUFLSSxRQUFMLEdBQWdCLElBQWhCO0FBRUEsYUFBS2hDLE1BQUwsR0FBYyxNQUFkO0FBQ0EsYUFBS3JCLEdBQUwsR0FBV3pCLFdBQVg7QUFFQSxhQUFLaUcsVUFBTCxDQUFnQnBELE9BQWhCLENBQXdCc0QsYUFBeEI7O0FBRUEsWUFBSSxDQUFDYSxhQUFMLEVBQW9CO0FBQ2xCLGVBQUssSUFBSTlELElBQVQsSUFBaUIsSUFBakIsRUFBdUI7O0FBRXJCLGdCQUFJQSxJQUFJLENBQUNnRSxNQUFMLENBQVksQ0FBWixNQUFtQixHQUFuQixJQUNBcEgsTUFBTSxDQUFDNkIsSUFBUCxDQUFZLElBQVosRUFBa0J1QixJQUFsQixDQURBLElBRUEsQ0FBQzRELEtBQUssQ0FBQyxDQUFDNUQsSUFBSSxDQUFDaUUsS0FBTCxDQUFXLENBQVgsQ0FBRixDQUZWLEVBRTRCO0FBQzFCLG1CQUFLakUsSUFBTCxJQUFhbEQsV0FBYjtBQUNEO0FBQ0Y7QUFDRjtBQUNGLE9BM0JpQjtBQTZCbEJvSCxNQUFBQSxJQUFJLEVBQUUsWUFBVztBQUNmLGFBQUsxQyxJQUFMLEdBQVksSUFBWjtBQUVBLFlBQUkyQyxTQUFTLEdBQUcsS0FBS3BCLFVBQUwsQ0FBZ0IsQ0FBaEIsQ0FBaEI7QUFDQSxZQUFJcUIsVUFBVSxHQUFHRCxTQUFTLENBQUNqQixVQUEzQjs7QUFDQSxZQUFJa0IsVUFBVSxDQUFDNUYsSUFBWCxLQUFvQixPQUF4QixFQUFpQztBQUMvQixnQkFBTTRGLFVBQVUsQ0FBQzdGLEdBQWpCO0FBQ0Q7O0FBRUQsZUFBTyxLQUFLOEYsSUFBWjtBQUNELE9BdkNpQjtBQXlDbEJwQyxNQUFBQSxpQkFBaUIsRUFBRSxVQUFTcUMsU0FBVCxFQUFvQjtBQUNyQyxZQUFJLEtBQUs5QyxJQUFULEVBQWU7QUFDYixnQkFBTThDLFNBQU47QUFDRDs7QUFFRCxZQUFJdEcsT0FBTyxHQUFHLElBQWQ7O0FBQ0EsaUJBQVN1RyxNQUFULENBQWdCQyxHQUFoQixFQUFxQkMsTUFBckIsRUFBNkI7QUFDM0I5RCxVQUFBQSxNQUFNLENBQUNuQyxJQUFQLEdBQWMsT0FBZDtBQUNBbUMsVUFBQUEsTUFBTSxDQUFDcEMsR0FBUCxHQUFhK0YsU0FBYjtBQUNBdEcsVUFBQUEsT0FBTyxDQUFDdUQsSUFBUixHQUFlaUQsR0FBZjs7QUFFQSxjQUFJQyxNQUFKLEVBQVk7OztBQUdWekcsWUFBQUEsT0FBTyxDQUFDNEIsTUFBUixHQUFpQixNQUFqQjtBQUNBNUIsWUFBQUEsT0FBTyxDQUFDTyxHQUFSLEdBQWN6QixXQUFkO0FBQ0Q7O0FBRUQsaUJBQU8sQ0FBQyxDQUFFMkgsTUFBVjtBQUNEOztBQUVELGFBQUssSUFBSVosQ0FBQyxHQUFHLEtBQUtkLFVBQUwsQ0FBZ0JTLE1BQWhCLEdBQXlCLENBQXRDLEVBQXlDSyxDQUFDLElBQUksQ0FBOUMsRUFBaUQsRUFBRUEsQ0FBbkQsRUFBc0Q7QUFDcEQsY0FBSW5CLEtBQUssR0FBRyxLQUFLSyxVQUFMLENBQWdCYyxDQUFoQixDQUFaO0FBQ0EsY0FBSWxELE1BQU0sR0FBRytCLEtBQUssQ0FBQ1EsVUFBbkI7O0FBRUEsY0FBSVIsS0FBSyxDQUFDQyxNQUFOLEtBQWlCLE1BQXJCLEVBQTZCOzs7O0FBSTNCLG1CQUFPNEIsTUFBTSxDQUFDLEtBQUQsQ0FBYjtBQUNEOztBQUVELGNBQUk3QixLQUFLLENBQUNDLE1BQU4sSUFBZ0IsS0FBS29CLElBQXpCLEVBQStCO0FBQzdCLGdCQUFJVyxRQUFRLEdBQUc5SCxNQUFNLENBQUM2QixJQUFQLENBQVlpRSxLQUFaLEVBQW1CLFVBQW5CLENBQWY7QUFDQSxnQkFBSWlDLFVBQVUsR0FBRy9ILE1BQU0sQ0FBQzZCLElBQVAsQ0FBWWlFLEtBQVosRUFBbUIsWUFBbkIsQ0FBakI7O0FBRUEsZ0JBQUlnQyxRQUFRLElBQUlDLFVBQWhCLEVBQTRCO0FBQzFCLGtCQUFJLEtBQUtaLElBQUwsR0FBWXJCLEtBQUssQ0FBQ0UsUUFBdEIsRUFBZ0M7QUFDOUIsdUJBQU8yQixNQUFNLENBQUM3QixLQUFLLENBQUNFLFFBQVAsRUFBaUIsSUFBakIsQ0FBYjtBQUNELGVBRkQsTUFFTyxJQUFJLEtBQUttQixJQUFMLEdBQVlyQixLQUFLLENBQUNHLFVBQXRCLEVBQWtDO0FBQ3ZDLHVCQUFPMEIsTUFBTSxDQUFDN0IsS0FBSyxDQUFDRyxVQUFQLENBQWI7QUFDRDtBQUVGLGFBUEQsTUFPTyxJQUFJNkIsUUFBSixFQUFjO0FBQ25CLGtCQUFJLEtBQUtYLElBQUwsR0FBWXJCLEtBQUssQ0FBQ0UsUUFBdEIsRUFBZ0M7QUFDOUIsdUJBQU8yQixNQUFNLENBQUM3QixLQUFLLENBQUNFLFFBQVAsRUFBaUIsSUFBakIsQ0FBYjtBQUNEO0FBRUYsYUFMTSxNQUtBLElBQUkrQixVQUFKLEVBQWdCO0FBQ3JCLGtCQUFJLEtBQUtaLElBQUwsR0FBWXJCLEtBQUssQ0FBQ0csVUFBdEIsRUFBa0M7QUFDaEMsdUJBQU8wQixNQUFNLENBQUM3QixLQUFLLENBQUNHLFVBQVAsQ0FBYjtBQUNEO0FBRUYsYUFMTSxNQUtBO0FBQ0wsb0JBQU0sSUFBSW5CLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRjtBQUNGO0FBQ0YsT0FuR2lCO0FBcUdsQlEsTUFBQUEsTUFBTSxFQUFFLFVBQVMxRCxJQUFULEVBQWVELEdBQWYsRUFBb0I7QUFDMUIsYUFBSyxJQUFJc0YsQ0FBQyxHQUFHLEtBQUtkLFVBQUwsQ0FBZ0JTLE1BQWhCLEdBQXlCLENBQXRDLEVBQXlDSyxDQUFDLElBQUksQ0FBOUMsRUFBaUQsRUFBRUEsQ0FBbkQsRUFBc0Q7QUFDcEQsY0FBSW5CLEtBQUssR0FBRyxLQUFLSyxVQUFMLENBQWdCYyxDQUFoQixDQUFaOztBQUNBLGNBQUluQixLQUFLLENBQUNDLE1BQU4sSUFBZ0IsS0FBS29CLElBQXJCLElBQ0FuSCxNQUFNLENBQUM2QixJQUFQLENBQVlpRSxLQUFaLEVBQW1CLFlBQW5CLENBREEsSUFFQSxLQUFLcUIsSUFBTCxHQUFZckIsS0FBSyxDQUFDRyxVQUZ0QixFQUVrQztBQUNoQyxnQkFBSStCLFlBQVksR0FBR2xDLEtBQW5CO0FBQ0E7QUFDRDtBQUNGOztBQUVELFlBQUlrQyxZQUFZLEtBQ1hwRyxJQUFJLEtBQUssT0FBVCxJQUNBQSxJQUFJLEtBQUssVUFGRSxDQUFaLElBR0FvRyxZQUFZLENBQUNqQyxNQUFiLElBQXVCcEUsR0FIdkIsSUFJQUEsR0FBRyxJQUFJcUcsWUFBWSxDQUFDL0IsVUFKeEIsRUFJb0M7OztBQUdsQytCLFVBQUFBLFlBQVksR0FBRyxJQUFmO0FBQ0Q7O0FBRUQsWUFBSWpFLE1BQU0sR0FBR2lFLFlBQVksR0FBR0EsWUFBWSxDQUFDMUIsVUFBaEIsR0FBNkIsRUFBdEQ7QUFDQXZDLFFBQUFBLE1BQU0sQ0FBQ25DLElBQVAsR0FBY0EsSUFBZDtBQUNBbUMsUUFBQUEsTUFBTSxDQUFDcEMsR0FBUCxHQUFhQSxHQUFiOztBQUVBLFlBQUlxRyxZQUFKLEVBQWtCO0FBQ2hCLGVBQUtoRixNQUFMLEdBQWMsTUFBZDtBQUNBLGVBQUsyQixJQUFMLEdBQVlxRCxZQUFZLENBQUMvQixVQUF6QjtBQUNBLGlCQUFPOUQsZ0JBQVA7QUFDRDs7QUFFRCxlQUFPLEtBQUs4RixRQUFMLENBQWNsRSxNQUFkLENBQVA7QUFDRCxPQXJJaUI7QUF1SWxCa0UsTUFBQUEsUUFBUSxFQUFFLFVBQVNsRSxNQUFULEVBQWlCbUMsUUFBakIsRUFBMkI7QUFDbkMsWUFBSW5DLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsT0FBcEIsRUFBNkI7QUFDM0IsZ0JBQU1tQyxNQUFNLENBQUNwQyxHQUFiO0FBQ0Q7O0FBRUQsWUFBSW9DLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsT0FBaEIsSUFDQW1DLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsVUFEcEIsRUFDZ0M7QUFDOUIsZUFBSytDLElBQUwsR0FBWVosTUFBTSxDQUFDcEMsR0FBbkI7QUFDRCxTQUhELE1BR08sSUFBSW9DLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsUUFBcEIsRUFBOEI7QUFDbkMsZUFBSzZGLElBQUwsR0FBWSxLQUFLOUYsR0FBTCxHQUFXb0MsTUFBTSxDQUFDcEMsR0FBOUI7QUFDQSxlQUFLcUIsTUFBTCxHQUFjLFFBQWQ7QUFDQSxlQUFLMkIsSUFBTCxHQUFZLEtBQVo7QUFDRCxTQUpNLE1BSUEsSUFBSVosTUFBTSxDQUFDbkMsSUFBUCxLQUFnQixRQUFoQixJQUE0QnNFLFFBQWhDLEVBQTBDO0FBQy9DLGVBQUt2QixJQUFMLEdBQVl1QixRQUFaO0FBQ0Q7O0FBRUQsZUFBTy9ELGdCQUFQO0FBQ0QsT0F4SmlCO0FBMEpsQitGLE1BQUFBLE1BQU0sRUFBRSxVQUFTakMsVUFBVCxFQUFxQjtBQUMzQixhQUFLLElBQUlnQixDQUFDLEdBQUcsS0FBS2QsVUFBTCxDQUFnQlMsTUFBaEIsR0FBeUIsQ0FBdEMsRUFBeUNLLENBQUMsSUFBSSxDQUE5QyxFQUFpRCxFQUFFQSxDQUFuRCxFQUFzRDtBQUNwRCxjQUFJbkIsS0FBSyxHQUFHLEtBQUtLLFVBQUwsQ0FBZ0JjLENBQWhCLENBQVo7O0FBQ0EsY0FBSW5CLEtBQUssQ0FBQ0csVUFBTixLQUFxQkEsVUFBekIsRUFBcUM7QUFDbkMsaUJBQUtnQyxRQUFMLENBQWNuQyxLQUFLLENBQUNRLFVBQXBCLEVBQWdDUixLQUFLLENBQUNJLFFBQXRDO0FBQ0FHLFlBQUFBLGFBQWEsQ0FBQ1AsS0FBRCxDQUFiO0FBQ0EsbUJBQU8zRCxnQkFBUDtBQUNEO0FBQ0Y7QUFDRixPQW5LaUI7QUFxS2xCLGVBQVMsVUFBUzRELE1BQVQsRUFBaUI7QUFDeEIsYUFBSyxJQUFJa0IsQ0FBQyxHQUFHLEtBQUtkLFVBQUwsQ0FBZ0JTLE1BQWhCLEdBQXlCLENBQXRDLEVBQXlDSyxDQUFDLElBQUksQ0FBOUMsRUFBaUQsRUFBRUEsQ0FBbkQsRUFBc0Q7QUFDcEQsY0FBSW5CLEtBQUssR0FBRyxLQUFLSyxVQUFMLENBQWdCYyxDQUFoQixDQUFaOztBQUNBLGNBQUluQixLQUFLLENBQUNDLE1BQU4sS0FBaUJBLE1BQXJCLEVBQTZCO0FBQzNCLGdCQUFJaEMsTUFBTSxHQUFHK0IsS0FBSyxDQUFDUSxVQUFuQjs7QUFDQSxnQkFBSXZDLE1BQU0sQ0FBQ25DLElBQVAsS0FBZ0IsT0FBcEIsRUFBNkI7QUFDM0Isa0JBQUl1RyxNQUFNLEdBQUdwRSxNQUFNLENBQUNwQyxHQUFwQjtBQUNBMEUsY0FBQUEsYUFBYSxDQUFDUCxLQUFELENBQWI7QUFDRDs7QUFDRCxtQkFBT3FDLE1BQVA7QUFDRDtBQUNGLFNBWHVCOzs7O0FBZXhCLGNBQU0sSUFBSXJELEtBQUosQ0FBVSx1QkFBVixDQUFOO0FBQ0QsT0FyTGlCO0FBdUxsQnNELE1BQUFBLGFBQWEsRUFBRSxVQUFTdEIsUUFBVCxFQUFtQnJCLFVBQW5CLEVBQStCQyxPQUEvQixFQUF3QztBQUNyRCxhQUFLVixRQUFMLEdBQWdCO0FBQ2QxRSxVQUFBQSxRQUFRLEVBQUVvQyxNQUFNLENBQUNvRSxRQUFELENBREY7QUFFZHJCLFVBQUFBLFVBQVUsRUFBRUEsVUFGRTtBQUdkQyxVQUFBQSxPQUFPLEVBQUVBO0FBSEssU0FBaEI7O0FBTUEsWUFBSSxLQUFLMUMsTUFBTCxLQUFnQixNQUFwQixFQUE0Qjs7O0FBRzFCLGVBQUtyQixHQUFMLEdBQVd6QixXQUFYO0FBQ0Q7O0FBRUQsZUFBT2lDLGdCQUFQO0FBQ0Q7QUFyTWlCLEtBQXBCLENBOWVnQzs7Ozs7QUEwckJoQyxXQUFPdkMsT0FBUDtBQUVELEdBNXJCYzs7OztBQWlzQmIsR0FBNkJ5SSxNQUFNLENBQUN6SSxPQUFwQyxDQWpzQmEsQ0FBZjs7QUFvc0JBLE1BQUk7QUFDRjBJLElBQUFBLGtCQUFrQixHQUFHM0ksT0FBckI7QUFDRCxHQUZELENBRUUsT0FBTzRJLG9CQUFQLEVBQTZCOzs7Ozs7Ozs7O0FBVTdCQyxJQUFBQSxRQUFRLENBQUMsR0FBRCxFQUFNLHdCQUFOLENBQVIsQ0FBd0M3SSxPQUF4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(86)))
var $ = __webpack_require__(56);
var $map = __webpack_require__(249).map;
var arrayMethodHasSpeciesSupport = __webpack_require__(355);
var arrayMethodUsesToLength = __webpack_require__(167);

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
// FF49- issue
var USES_TO_LENGTH = arrayMethodUsesToLength('map');

// `Array.prototype.map` method
// https://tc39.github.io/ecma262/#sec-array.prototype.map
// with adding support of @@species
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
  map: function map(callbackfn /* , thisArg */) {
    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});
var global = __webpack_require__(72);
var getOwnPropertyDescriptor = __webpack_require__(163).f;
var createNonEnumerableProperty = __webpack_require__(140);
var redefine = __webpack_require__(141);
var setGlobal = __webpack_require__(463);
var copyConstructorProperties = __webpack_require__(654);
var isForced = __webpack_require__(354);

/*
  options.target      - name of the target object
  options.global      - target is the global object
  options.stat        - export as static methods of target
  options.proto       - export as prototype methods of target
  options.real        - real prototype method for the `pure` version
  options.forced      - export even if the native feature is available
  options.bind        - bind methods to the target, required for the `pure` version
  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
  options.sham        - add a flag to not completely full polyfills
  options.enumerable  - export as enumerable property
  options.noTargetGet - prevent calling a getter on target
*/
module.exports = function (options, source) {
  var TARGET = options.target;
  var GLOBAL = options.global;
  var STATIC = options.stat;
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
  if (GLOBAL) {
    target = global;
  } else if (STATIC) {
    target = global[TARGET] || setGlobal(TARGET, {});
  } else {
    target = (global[TARGET] || {}).prototype;
  }
  if (target) for (key in source) {
    sourceProperty = source[key];
    if (options.noTargetGet) {
      descriptor = getOwnPropertyDescriptor(target, key);
      targetProperty = descriptor && descriptor.value;
    } else targetProperty = target[key];
    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
    // contained in target
    if (!FORCED && targetProperty !== undefined) {
      if (typeof sourceProperty === typeof targetProperty) continue;
      copyConstructorProperties(sourceProperty, targetProperty);
    }
    // add a flag to not completely full polyfills
    if (options.sham || (targetProperty && targetProperty.sham)) {
      createNonEnumerableProperty(sourceProperty, 'sham', true);
    }
    // extend global
    redefine(target, key, sourceProperty, options);
  }
};
/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {
  return it && it.Math == Math && it;
};

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
  // eslint-disable-next-line no-undef
  check(typeof globalThis == 'object' && globalThis) ||
  check(typeof window == 'object' && window) ||
  check(typeof self == 'object' && self) ||
  check(typeof global == 'object' && global) ||
  // eslint-disable-next-line no-new-func
  Function('return this')();

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(37)))var DESCRIPTORS = __webpack_require__(95);
var propertyIsEnumerableModule = __webpack_require__(651);
var createPropertyDescriptor = __webpack_require__(296);
var toIndexedObject = __webpack_require__(139);
var toPrimitive = __webpack_require__(297);
var has = __webpack_require__(92);
var IE8_DOM_DEFINE = __webpack_require__(652);

var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// `Object.getOwnPropertyDescriptor` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
  O = toIndexedObject(O);
  P = toPrimitive(P, true);
  if (IE8_DOM_DEFINE) try {
    return nativeGetOwnPropertyDescriptor(O, P);
  } catch (error) { /* empty */ }
  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
};
var fails = __webpack_require__(68);

// Thank's IE8 for his funny defineProperty
module.exports = !fails(function () {
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
});
module.exports = function (exec) {
  try {
    return !!exec();
  } catch (error) {
    return true;
  }
};

var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);

// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
  var descriptor = getOwnPropertyDescriptor(this, V);
  return !!descriptor && descriptor.enumerable;
} : nativePropertyIsEnumerable;
module.exports = function (bitmap, value) {
  return {
    enumerable: !(bitmap & 1),
    configurable: !(bitmap & 2),
    writable: !(bitmap & 4),
    value: value
  };
};
// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__(349);
var requireObjectCoercible = __webpack_require__(165);

module.exports = function (it) {
  return IndexedObject(requireObjectCoercible(it));
};
var fails = __webpack_require__(68);
var classof = __webpack_require__(164);

var split = ''.split;

// fallback for non-array-like ES3 and non-enumerable old V8 strings
module.exports = fails(function () {
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
  // eslint-disable-next-line no-prototype-builtins
  return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
  return classof(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;
var toString = {}.toString;

module.exports = function (it) {
  return toString.call(it).slice(8, -1);
};
// `RequireObjectCoercible` abstract operation
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
module.exports = function (it) {
  if (it == undefined) throw TypeError("Can't call method on " + it);
  return it;
};
var isObject = __webpack_require__(85);

// `ToPrimitive` abstract operation
// https://tc39.github.io/ecma262/#sec-toprimitive
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function (input, PREFERRED_STRING) {
  if (!isObject(input)) return input;
  var fn, val;
  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
  throw TypeError("Can't convert object to primitive value");
};
module.exports = function (it) {
  return typeof it === 'object' ? it !== null : typeof it === 'function';
};
var hasOwnProperty = {}.hasOwnProperty;

module.exports = function (it, key) {
  return hasOwnProperty.call(it, key);
};
var DESCRIPTORS = __webpack_require__(95);
var fails = __webpack_require__(68);
var createElement = __webpack_require__(462);

// Thank's IE8 for his funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
  return Object.defineProperty(createElement('div'), 'a', {
    get: function () { return 7; }
  }).a != 7;
});
var global = __webpack_require__(72);
var isObject = __webpack_require__(85);

var document = global.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);

module.exports = function (it) {
  return EXISTS ? document.createElement(it) : {};
};
var DESCRIPTORS = __webpack_require__(95);
var definePropertyModule = __webpack_require__(96);
var createPropertyDescriptor = __webpack_require__(296);

module.exports = DESCRIPTORS ? function (object, key, value) {
  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
  object[key] = value;
  return object;
};
var DESCRIPTORS = __webpack_require__(95);
var IE8_DOM_DEFINE = __webpack_require__(652);
var anObject = __webpack_require__(82);
var toPrimitive = __webpack_require__(297);

var nativeDefineProperty = Object.defineProperty;

// `Object.defineProperty` method
// https://tc39.github.io/ecma262/#sec-object.defineproperty
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPrimitive(P, true);
  anObject(Attributes);
  if (IE8_DOM_DEFINE) try {
    return nativeDefineProperty(O, P, Attributes);
  } catch (error) { /* empty */ }
  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
  if ('value' in Attributes) O[P] = Attributes.value;
  return O;
};
var isObject = __webpack_require__(85);

module.exports = function (it) {
  if (!isObject(it)) {
    throw TypeError(String(it) + ' is not an object');
  } return it;
};
var global = __webpack_require__(72);
var createNonEnumerableProperty = __webpack_require__(140);
var has = __webpack_require__(92);
var setGlobal = __webpack_require__(463);
var inspectSource = __webpack_require__(464);
var InternalStateModule = __webpack_require__(247);

var getInternalState = InternalStateModule.get;
var enforceInternalState = InternalStateModule.enforce;
var TEMPLATE = String(String).split('String');

(module.exports = function (O, key, value, options) {
  var unsafe = options ? !!options.unsafe : false;
  var simple = options ? !!options.enumerable : false;
  var noTargetGet = options ? !!options.noTargetGet : false;
  if (typeof value == 'function') {
    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
  }
  if (O === global) {
    if (simple) O[key] = value;
    else setGlobal(key, value);
    return;
  } else if (!unsafe) {
    delete O[key];
  } else if (!noTargetGet && O[key]) {
    simple = true;
  }
  if (simple) O[key] = value;
  else createNonEnumerableProperty(O, key, value);
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, 'toString', function toString() {
  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
});
var global = __webpack_require__(72);
var createNonEnumerableProperty = __webpack_require__(140);

module.exports = function (key, value) {
  try {
    createNonEnumerableProperty(global, key, value);
  } catch (error) {
    global[key] = value;
  } return value;
};
var store = __webpack_require__(653);

var functionToString = Function.toString;

// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
if (typeof store.inspectSource != 'function') {
  store.inspectSource = function (it) {
    return functionToString.call(it);
  };
}

module.exports = store.inspectSource;
var global = __webpack_require__(72);
var setGlobal = __webpack_require__(463);

var SHARED = '__core-js_shared__';
var store = global[SHARED] || setGlobal(SHARED, {});

module.exports = store;
var NATIVE_WEAK_MAP = __webpack_require__(1134);
var global = __webpack_require__(72);
var isObject = __webpack_require__(85);
var createNonEnumerableProperty = __webpack_require__(140);
var objectHas = __webpack_require__(92);
var sharedKey = __webpack_require__(350);
var hiddenKeys = __webpack_require__(298);

var WeakMap = global.WeakMap;
var set, get, has;

var enforce = function (it) {
  return has(it) ? get(it) : set(it, {});
};

var getterFor = function (TYPE) {
  return function (it) {
    var state;
    if (!isObject(it) || (state = get(it)).type !== TYPE) {
      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
    } return state;
  };
};

if (NATIVE_WEAK_MAP) {
  var store = new WeakMap();
  var wmget = store.get;
  var wmhas = store.has;
  var wmset = store.set;
  set = function (it, metadata) {
    wmset.call(store, it, metadata);
    return metadata;
  };
  get = function (it) {
    return wmget.call(store, it) || {};
  };
  has = function (it) {
    return wmhas.call(store, it);
  };
} else {
  var STATE = sharedKey('state');
  hiddenKeys[STATE] = true;
  set = function (it, metadata) {
    createNonEnumerableProperty(it, STATE, metadata);
    return metadata;
  };
  get = function (it) {
    return objectHas(it, STATE) ? it[STATE] : {};
  };
  has = function (it) {
    return objectHas(it, STATE);
  };
}

module.exports = {
  set: set,
  get: get,
  has: has,
  enforce: enforce,
  getterFor: getterFor
};
var global = __webpack_require__(72);
var inspectSource = __webpack_require__(464);

var WeakMap = global.WeakMap;

module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
var shared = __webpack_require__(465);
var uid = __webpack_require__(351);

var keys = shared('keys');

module.exports = function (key) {
  return keys[key] || (keys[key] = uid(key));
};
var IS_PURE = __webpack_require__(248);
var store = __webpack_require__(653);

(module.exports = function (key, value) {
  return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
  version: '3.6.5',
  mode: IS_PURE ? 'pure' : 'global',
  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
});
module.exports = false;
var id = 0;
var postfix = Math.random();

module.exports = function (key) {
  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
};
module.exports = {};
var has = __webpack_require__(92);
var ownKeys = __webpack_require__(655);
var getOwnPropertyDescriptorModule = __webpack_require__(163);
var definePropertyModule = __webpack_require__(96);

module.exports = function (target, source) {
  var keys = ownKeys(source);
  var defineProperty = definePropertyModule.f;
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
  for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
  }
};
var getBuiltIn = __webpack_require__(187);
var getOwnPropertyNamesModule = __webpack_require__(352);
var getOwnPropertySymbolsModule = __webpack_require__(658);
var anObject = __webpack_require__(82);

// all object keys, includes non-enumerable and symbols
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
  var keys = getOwnPropertyNamesModule.f(anObject(it));
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
};
var path = __webpack_require__(656);
var global = __webpack_require__(72);

var aFunction = function (variable) {
  return typeof variable == 'function' ? variable : undefined;
};

module.exports = function (namespace, method) {
  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
};
var global = __webpack_require__(72);

module.exports = global;
var internalObjectKeys = __webpack_require__(657);
var enumBugKeys = __webpack_require__(468);

var hiddenKeys = enumBugKeys.concat('length', 'prototype');

// `Object.getOwnPropertyNames` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  return internalObjectKeys(O, hiddenKeys);
};
var has = __webpack_require__(92);
var toIndexedObject = __webpack_require__(139);
var indexOf = __webpack_require__(466).indexOf;
var hiddenKeys = __webpack_require__(298);

module.exports = function (object, names) {
  var O = toIndexedObject(object);
  var i = 0;
  var result = [];
  var key;
  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
  // Don't enum bug & hidden keys
  while (names.length > i) if (has(O, key = names[i++])) {
    ~indexOf(result, key) || result.push(key);
  }
  return result;
};
var toIndexedObject = __webpack_require__(139);
var toLength = __webpack_require__(114);
var toAbsoluteIndex = __webpack_require__(467);

// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
  return function ($this, el, fromIndex) {
    var O = toIndexedObject($this);
    var length = toLength(O.length);
    var index = toAbsoluteIndex(fromIndex, length);
    var value;
    // Array#includes uses SameValueZero equality algorithm
    // eslint-disable-next-line no-self-compare
    if (IS_INCLUDES && el != el) while (length > index) {
      value = O[index++];
      // eslint-disable-next-line no-self-compare
      if (value != value) return true;
    // Array#indexOf ignores holes, Array#includes - not
    } else for (;length > index; index++) {
      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
    } return !IS_INCLUDES && -1;
  };
};

module.exports = {
  // `Array.prototype.includes` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
  includes: createMethod(true),
  // `Array.prototype.indexOf` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
  indexOf: createMethod(false)
};
var toInteger = __webpack_require__(353);

var min = Math.min;

// `ToLength` abstract operation
// https://tc39.github.io/ecma262/#sec-tolength
module.exports = function (argument) {
  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
var ceil = Math.ceil;
var floor = Math.floor;

// `ToInteger` abstract operation
// https://tc39.github.io/ecma262/#sec-tointeger
module.exports = function (argument) {
  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
};
var toInteger = __webpack_require__(353);

var max = Math.max;
var min = Math.min;

// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
module.exports = function (index, length) {
  var integer = toInteger(index);
  return integer < 0 ? max(integer + length, 0) : min(integer, length);
};
// IE8- don't enum bug keys
module.exports = [
  'constructor',
  'hasOwnProperty',
  'isPrototypeOf',
  'propertyIsEnumerable',
  'toLocaleString',
  'toString',
  'valueOf'
];
exports.f = Object.getOwnPropertySymbols;
var fails = __webpack_require__(68);

var replacement = /#|\.prototype\./;

var isForced = function (feature, detection) {
  var value = data[normalize(feature)];
  return value == POLYFILL ? true
    : value == NATIVE ? false
    : typeof detection == 'function' ? fails(detection)
    : !!detection;
};

var normalize = isForced.normalize = function (string) {
  return String(string).replace(replacement, '.').toLowerCase();
};

var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';

module.exports = isForced;
var bind = __webpack_require__(299);
var IndexedObject = __webpack_require__(349);
var toObject = __webpack_require__(166);
var toLength = __webpack_require__(114);
var arraySpeciesCreate = __webpack_require__(659);

var push = [].push;

// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
var createMethod = function (TYPE) {
  var IS_MAP = TYPE == 1;
  var IS_FILTER = TYPE == 2;
  var IS_SOME = TYPE == 3;
  var IS_EVERY = TYPE == 4;
  var IS_FIND_INDEX = TYPE == 6;
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  return function ($this, callbackfn, that, specificCreate) {
    var O = toObject($this);
    var self = IndexedObject(O);
    var boundFunction = bind(callbackfn, that, 3);
    var length = toLength(self.length);
    var index = 0;
    var create = specificCreate || arraySpeciesCreate;
    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
    var value, result;
    for (;length > index; index++) if (NO_HOLES || index in self) {
      value = self[index];
      result = boundFunction(value, index, O);
      if (TYPE) {
        if (IS_MAP) target[index] = result; // map
        else if (result) switch (TYPE) {
          case 3: return true;              // some
          case 5: return value;             // find
          case 6: return index;             // findIndex
          case 2: push.call(target, value); // filter
        } else if (IS_EVERY) return false;  // every
      }
    }
    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
  };
};

module.exports = {
  // `Array.prototype.forEach` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
  forEach: createMethod(0),
  // `Array.prototype.map` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.map
  map: createMethod(1),
  // `Array.prototype.filter` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
  filter: createMethod(2),
  // `Array.prototype.some` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.some
  some: createMethod(3),
  // `Array.prototype.every` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.every
  every: createMethod(4),
  // `Array.prototype.find` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.find
  find: createMethod(5),
  // `Array.prototype.findIndex` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
  findIndex: createMethod(6)
};
var aFunction = __webpack_require__(188);

// optional / simple context binding
module.exports = function (fn, that, length) {
  aFunction(fn);
  if (that === undefined) return fn;
  switch (length) {
    case 0: return function () {
      return fn.call(that);
    };
    case 1: return function (a) {
      return fn.call(that, a);
    };
    case 2: return function (a, b) {
      return fn.call(that, a, b);
    };
    case 3: return function (a, b, c) {
      return fn.call(that, a, b, c);
    };
  }
  return function (/* ...args */) {
    return fn.apply(that, arguments);
  };
};
module.exports = function (it) {
  if (typeof it != 'function') {
    throw TypeError(String(it) + ' is not a function');
  } return it;
};
var requireObjectCoercible = __webpack_require__(165);

// `ToObject` abstract operation
// https://tc39.github.io/ecma262/#sec-toobject
module.exports = function (argument) {
  return Object(requireObjectCoercible(argument));
};
var isObject = __webpack_require__(85);
var isArray = __webpack_require__(300);
var wellKnownSymbol = __webpack_require__(73);

var SPECIES = wellKnownSymbol('species');

// `ArraySpeciesCreate` abstract operation
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
module.exports = function (originalArray, length) {
  var C;
  if (isArray(originalArray)) {
    C = originalArray.constructor;
    // cross-realm fallback
    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
    else if (isObject(C)) {
      C = C[SPECIES];
      if (C === null) C = undefined;
    }
  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
};
var classof = __webpack_require__(164);

// `IsArray` abstract operation
// https://tc39.github.io/ecma262/#sec-isarray
module.exports = Array.isArray || function isArray(arg) {
  return classof(arg) == 'Array';
};
var global = __webpack_require__(72);
var shared = __webpack_require__(465);
var has = __webpack_require__(92);
var uid = __webpack_require__(351);
var NATIVE_SYMBOL = __webpack_require__(469);
var USE_SYMBOL_AS_UID = __webpack_require__(660);

var WellKnownSymbolsStore = shared('wks');
var Symbol = global.Symbol;
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;

module.exports = function (name) {
  if (!has(WellKnownSymbolsStore, name)) {
    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
  } return WellKnownSymbolsStore[name];
};
var fails = __webpack_require__(68);

module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
  // Chrome 38 Symbol has incorrect toString conversion
  // eslint-disable-next-line no-undef
  return !String(Symbol());
});
var NATIVE_SYMBOL = __webpack_require__(469);

module.exports = NATIVE_SYMBOL
  // eslint-disable-next-line no-undef
  && !Symbol.sham
  // eslint-disable-next-line no-undef
  && typeof Symbol.iterator == 'symbol';
var fails = __webpack_require__(68);
var wellKnownSymbol = __webpack_require__(73);
var V8_VERSION = __webpack_require__(470);

var SPECIES = wellKnownSymbol('species');

module.exports = function (METHOD_NAME) {
  // We can't use this feature detection in V8 since it causes
  // deoptimization and serious performance degradation
  // https://github.com/zloirock/core-js/issues/677
  return V8_VERSION >= 51 || !fails(function () {
    var array = [];
    var constructor = array.constructor = {};
    constructor[SPECIES] = function () {
      return { foo: 1 };
    };
    return array[METHOD_NAME](Boolean).foo !== 1;
  });
};
var global = __webpack_require__(72);
var userAgent = __webpack_require__(661);

var process = global.process;
var versions = process && process.versions;
var v8 = versions && versions.v8;
var match, version;

if (v8) {
  match = v8.split('.');
  version = match[0] + match[1];
} else if (userAgent) {
  match = userAgent.match(/Edge\/(\d+)/);
  if (!match || match[1] >= 74) {
    match = userAgent.match(/Chrome\/(\d+)/);
    if (match) version = match[1];
  }
}

module.exports = version && +version;
var getBuiltIn = __webpack_require__(187);

module.exports = getBuiltIn('navigator', 'userAgent') || '';
var DESCRIPTORS = __webpack_require__(95);
var fails = __webpack_require__(68);
var has = __webpack_require__(92);

var defineProperty = Object.defineProperty;
var cache = {};

var thrower = function (it) { throw it; };

module.exports = function (METHOD_NAME, options) {
  if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
  if (!options) options = {};
  var method = [][METHOD_NAME];
  var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
  var argument0 = has(options, 0) ? options[0] : thrower;
  var argument1 = has(options, 1) ? options[1] : undefined;

  return cache[METHOD_NAME] = !!method && !fails(function () {
    if (ACCESSORS && !DESCRIPTORS) return true;
    var O = { length: -1 };

    if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
    else O[1] = 1;

    method.call(O, argument0, argument1);
  });
};

var $ = __webpack_require__(56);
var exec = __webpack_require__(356);

$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
  exec: exec
});

var regexpFlags = __webpack_require__(663);
var stickyHelpers = __webpack_require__(1135);

var nativeExec = RegExp.prototype.exec;
// This always refers to the native implementation, because the
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
// which loads this file before patching the method.
var nativeReplace = String.prototype.replace;

var patchedExec = nativeExec;

var UPDATES_LAST_INDEX_WRONG = (function () {
  var re1 = /a/;
  var re2 = /b*/g;
  nativeExec.call(re1, 'a');
  nativeExec.call(re2, 'a');
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
})();

var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;

// nonparticipating capturing group, copied from es5-shim's String#split patch.
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;

var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;

if (PATCH) {
  patchedExec = function exec(str) {
    var re = this;
    var lastIndex, reCopy, match, i;
    var sticky = UNSUPPORTED_Y && re.sticky;
    var flags = regexpFlags.call(re);
    var source = re.source;
    var charsAdded = 0;
    var strCopy = str;

    if (sticky) {
      flags = flags.replace('y', '');
      if (flags.indexOf('g') === -1) {
        flags += 'g';
      }

      strCopy = String(str).slice(re.lastIndex);
      // Support anchored sticky behavior.
      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
        source = '(?: ' + source + ')';
        strCopy = ' ' + strCopy;
        charsAdded++;
      }
      // ^(? + rx + ) is needed, in combination with some str slicing, to
      // simulate the 'y' flag.
      reCopy = new RegExp('^(?:' + source + ')', flags);
    }

    if (NPCG_INCLUDED) {
      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
    }
    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;

    match = nativeExec.call(sticky ? reCopy : re, strCopy);

    if (sticky) {
      if (match) {
        match.input = match.input.slice(charsAdded);
        match[0] = match[0].slice(charsAdded);
        match.index = re.lastIndex;
        re.lastIndex += match[0].length;
      } else re.lastIndex = 0;
    } else if (UPDATES_LAST_INDEX_WRONG && match) {
      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
    }
    if (NPCG_INCLUDED && match && match.length > 1) {
      // Fix browsers whose `exec` methods don't consistently return `undefined`
      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
      nativeReplace.call(match[0], reCopy, function () {
        for (i = 1; i < arguments.length - 2; i++) {
          if (arguments[i] === undefined) match[i] = undefined;
        }
      });
    }

    return match;
  };
}

module.exports = patchedExec;

var anObject = __webpack_require__(82);

// `RegExp.prototype.flags` getter implementation
// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
module.exports = function () {
  var that = anObject(this);
  var result = '';
  if (that.global) result += 'g';
  if (that.ignoreCase) result += 'i';
  if (that.multiline) result += 'm';
  if (that.dotAll) result += 's';
  if (that.unicode) result += 'u';
  if (that.sticky) result += 'y';
  return result;
};


var fails = __webpack_require__(68);

// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
// so we use an intermediate function.
function RE(s, f) {
  return RegExp(s, f);
}

exports.UNSUPPORTED_Y = fails(function () {
  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
  var re = RE('a', 'y');
  re.lastIndex = 2;
  return re.exec('abcd') != null;
});

exports.BROKEN_CARET = fails(function () {
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
  var re = RE('^r', 'gy');
  re.lastIndex = 2;
  return re.exec('str') != null;
});

var fixRegExpWellKnownSymbolLogic = __webpack_require__(471);
var anObject = __webpack_require__(82);
var toLength = __webpack_require__(114);
var requireObjectCoercible = __webpack_require__(165);
var advanceStringIndex = __webpack_require__(472);
var regExpExec = __webpack_require__(473);

// @@match logic
fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
  return [
    // `String.prototype.match` method
    // https://tc39.github.io/ecma262/#sec-string.prototype.match
    function match(regexp) {
      var O = requireObjectCoercible(this);
      var matcher = regexp == undefined ? undefined : regexp[MATCH];
      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
    },
    // `RegExp.prototype[@@match]` method
    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
    function (regexp) {
      var res = maybeCallNative(nativeMatch, regexp, this);
      if (res.done) return res.value;

      var rx = anObject(regexp);
      var S = String(this);

      if (!rx.global) return regExpExec(rx, S);

      var fullUnicode = rx.unicode;
      rx.lastIndex = 0;
      var A = [];
      var n = 0;
      var result;
      while ((result = regExpExec(rx, S)) !== null) {
        var matchStr = String(result[0]);
        A[n] = matchStr;
        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
        n++;
      }
      return n === 0 ? null : A;
    }
  ];
});

// TODO: Remove from `core-js@4` since it's moved to entry points
__webpack_require__(662);
var redefine = __webpack_require__(141);
var fails = __webpack_require__(68);
var wellKnownSymbol = __webpack_require__(73);
var regexpExec = __webpack_require__(356);
var createNonEnumerableProperty = __webpack_require__(140);

var SPECIES = wellKnownSymbol('species');

var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
  // #replace needs built-in support for named groups.
  // #match works fine because it just return the exec results, even if it has
  // a "grops" property.
  var re = /./;
  re.exec = function () {
    var result = [];
    result.groups = { a: '7' };
    return result;
  };
  return ''.replace(re, '$<a>') !== '7';
});

// IE <= 11 replaces $0 with the whole match, as if it was $&
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
var REPLACE_KEEPS_$0 = (function () {
  return 'a'.replace(/./, '$0') === '$0';
})();

var REPLACE = wellKnownSymbol('replace');
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
  if (/./[REPLACE]) {
    return /./[REPLACE]('a', '$0') === '';
  }
  return false;
})();

// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
// Weex JS has frozen built-in prototypes, so use try / catch wrapper
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
  var re = /(?:)/;
  var originalExec = re.exec;
  re.exec = function () { return originalExec.apply(this, arguments); };
  var result = 'ab'.split(re);
  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
});

module.exports = function (KEY, length, exec, sham) {
  var SYMBOL = wellKnownSymbol(KEY);

  var DELEGATES_TO_SYMBOL = !fails(function () {
    // String methods call symbol-named RegEp methods
    var O = {};
    O[SYMBOL] = function () { return 7; };
    return ''[KEY](O) != 7;
  });

  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
    // Symbol-named RegExp methods call .exec
    var execCalled = false;
    var re = /a/;

    if (KEY === 'split') {
      // We can't use real regex here since it causes deoptimization
      // and serious performance degradation in V8
      // https://github.com/zloirock/core-js/issues/306
      re = {};
      // RegExp[@@split] doesn't call the regex's exec method, but first creates
      // a new one. We need to return the patched regex when creating the new one.
      re.constructor = {};
      re.constructor[SPECIES] = function () { return re; };
      re.flags = '';
      re[SYMBOL] = /./[SYMBOL];
    }

    re.exec = function () { execCalled = true; return null; };

    re[SYMBOL]('');
    return !execCalled;
  });

  if (
    !DELEGATES_TO_SYMBOL ||
    !DELEGATES_TO_EXEC ||
    (KEY === 'replace' && !(
      REPLACE_SUPPORTS_NAMED_GROUPS &&
      REPLACE_KEEPS_$0 &&
      !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
    )) ||
    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
  ) {
    var nativeRegExpMethod = /./[SYMBOL];
    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
      if (regexp.exec === regexpExec) {
        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
          // The native String method already delegates to @@method (this
          // polyfilled function), leasing to infinite recursion.
          // We avoid it by directly calling the native @@method method.
          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
        }
        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
      }
      return { done: false };
    }, {
      REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
      REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
    });
    var stringMethod = methods[0];
    var regexMethod = methods[1];

    redefine(String.prototype, KEY, stringMethod);
    redefine(RegExp.prototype, SYMBOL, length == 2
      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
      ? function (string, arg) { return regexMethod.call(string, this, arg); }
      // 21.2.5.6 RegExp.prototype[@@match](string)
      // 21.2.5.9 RegExp.prototype[@@search](string)
      : function (string) { return regexMethod.call(string, this); }
    );
  }

  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
};

var charAt = __webpack_require__(664).charAt;

// `AdvanceStringIndex` abstract operation
// https://tc39.github.io/ecma262/#sec-advancestringindex
module.exports = function (S, index, unicode) {
  return index + (unicode ? charAt(S, index).length : 1);
};
var toInteger = __webpack_require__(353);
var requireObjectCoercible = __webpack_require__(165);

// `String.prototype.{ codePointAt, at }` methods implementation
var createMethod = function (CONVERT_TO_STRING) {
  return function ($this, pos) {
    var S = String(requireObjectCoercible($this));
    var position = toInteger(pos);
    var size = S.length;
    var first, second;
    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
    first = S.charCodeAt(position);
    return first < 0xD800 || first > 0xDBFF || position + 1 === size
      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
        ? CONVERT_TO_STRING ? S.charAt(position) : first
        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
  };
};

module.exports = {
  // `String.prototype.codePointAt` method
  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
  codeAt: createMethod(false),
  // `String.prototype.at` method
  // https://github.com/mathiasbynens/String.prototype.at
  charAt: createMethod(true)
};
var classof = __webpack_require__(164);
var regexpExec = __webpack_require__(356);

// `RegExpExec` abstract operation
// https://tc39.github.io/ecma262/#sec-regexpexec
module.exports = function (R, S) {
  var exec = R.exec;
  if (typeof exec === 'function') {
    var result = exec.call(R, S);
    if (typeof result !== 'object') {
      throw TypeError('RegExp exec method returned something other than an Object or null');
    }
    return result;
  }

  if (classof(R) !== 'RegExp') {
    throw TypeError('RegExp#exec called on incompatible receiver');
  }

  return regexpExec.call(R, S);
};


var fixRegExpWellKnownSymbolLogic = __webpack_require__(471);
var anObject = __webpack_require__(82);
var toObject = __webpack_require__(166);
var toLength = __webpack_require__(114);
var toInteger = __webpack_require__(353);
var requireObjectCoercible = __webpack_require__(165);
var advanceStringIndex = __webpack_require__(472);
var regExpExec = __webpack_require__(473);

var max = Math.max;
var min = Math.min;
var floor = Math.floor;
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;

var maybeToString = function (it) {
  return it === undefined ? it : String(it);
};

// @@replace logic
fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
  var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
  var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';

  return [
    // `String.prototype.replace` method
    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
    function replace(searchValue, replaceValue) {
      var O = requireObjectCoercible(this);
      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
      return replacer !== undefined
        ? replacer.call(searchValue, O, replaceValue)
        : nativeReplace.call(String(O), searchValue, replaceValue);
    },
    // `RegExp.prototype[@@replace]` method
    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
    function (regexp, replaceValue) {
      if (
        (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
        (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
      ) {
        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
        if (res.done) return res.value;
      }

      var rx = anObject(regexp);
      var S = String(this);

      var functionalReplace = typeof replaceValue === 'function';
      if (!functionalReplace) replaceValue = String(replaceValue);

      var global = rx.global;
      if (global) {
        var fullUnicode = rx.unicode;
        rx.lastIndex = 0;
      }
      var results = [];
      while (true) {
        var result = regExpExec(rx, S);
        if (result === null) break;

        results.push(result);
        if (!global) break;

        var matchStr = String(result[0]);
        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
      }

      var accumulatedResult = '';
      var nextSourcePosition = 0;
      for (var i = 0; i < results.length; i++) {
        result = results[i];

        var matched = String(result[0]);
        var position = max(min(toInteger(result.index), S.length), 0);
        var captures = [];
        // NOTE: This is equivalent to
        //   captures = result.slice(1).map(maybeToString)
        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
        var namedCaptures = result.groups;
        if (functionalReplace) {
          var replacerArgs = [matched].concat(captures, position, S);
          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
          var replacement = String(replaceValue.apply(undefined, replacerArgs));
        } else {
          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
        }
        if (position >= nextSourcePosition) {
          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
          nextSourcePosition = position + matched.length;
        }
      }
      return accumulatedResult + S.slice(nextSourcePosition);
    }
  ];

  // https://tc39.github.io/ecma262/#sec-getsubstitution
  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
    var tailPos = position + matched.length;
    var m = captures.length;
    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
    if (namedCaptures !== undefined) {
      namedCaptures = toObject(namedCaptures);
      symbols = SUBSTITUTION_SYMBOLS;
    }
    return nativeReplace.call(replacement, symbols, function (match, ch) {
      var capture;
      switch (ch.charAt(0)) {
        case '$': return '$';
        case '&': return matched;
        case '`': return str.slice(0, position);
        case "'": return str.slice(tailPos);
        case '<':
          capture = namedCaptures[ch.slice(1, -1)];
          break;
        default: // \d\d?
          var n = +ch;
          if (n === 0) return match;
          if (n > m) {
            var f = floor(n / 10);
            if (f === 0) return match;
            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
            return match;
          }
          capture = captures[n - 1];
      }
      return capture === undefined ? '' : capture;
    });
  }
});

var $ = __webpack_require__(56);
var getOwnPropertyDescriptor = __webpack_require__(163).f;
var toLength = __webpack_require__(114);
var notARegExp = __webpack_require__(665);
var requireObjectCoercible = __webpack_require__(165);
var correctIsRegExpLogic = __webpack_require__(667);
var IS_PURE = __webpack_require__(248);

var nativeStartsWith = ''.startsWith;
var min = Math.min;

var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
// https://github.com/zloirock/core-js/pull/702
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
  return descriptor && !descriptor.writable;
}();

// `String.prototype.startsWith` method
// https://tc39.github.io/ecma262/#sec-string.prototype.startswith
$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
  startsWith: function startsWith(searchString /* , position = 0 */) {
    var that = String(requireObjectCoercible(this));
    notARegExp(searchString);
    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
    var search = String(searchString);
    return nativeStartsWith
      ? nativeStartsWith.call(that, search, index)
      : that.slice(index, index + search.length) === search;
  }
});
var isRegExp = __webpack_require__(666);

module.exports = function (it) {
  if (isRegExp(it)) {
    throw TypeError("The method doesn't accept regular expressions");
  } return it;
};
var isObject = __webpack_require__(85);
var classof = __webpack_require__(164);
var wellKnownSymbol = __webpack_require__(73);

var MATCH = wellKnownSymbol('match');

// `IsRegExp` abstract operation
// https://tc39.github.io/ecma262/#sec-isregexp
module.exports = function (it) {
  var isRegExp;
  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
};
var wellKnownSymbol = __webpack_require__(73);

var MATCH = wellKnownSymbol('match');

module.exports = function (METHOD_NAME) {
  var regexp = /./;
  try {
    '/./'[METHOD_NAME](regexp);
  } catch (e) {
    try {
      regexp[MATCH] = false;
      return '/./'[METHOD_NAME](regexp);
    } catch (f) { /* empty */ }
  } return false;
};

var $ = __webpack_require__(56);
var IndexedObject = __webpack_require__(349);
var toIndexedObject = __webpack_require__(139);
var arrayMethodIsStrict = __webpack_require__(250);

var nativeJoin = [].join;

var ES3_STRINGS = IndexedObject != Object;
var STRICT_METHOD = arrayMethodIsStrict('join', ',');

// `Array.prototype.join` method
// https://tc39.github.io/ecma262/#sec-array.prototype.join
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
  join: function join(separator) {
    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
  }
});

var fails = __webpack_require__(68);

module.exports = function (METHOD_NAME, argument) {
  var method = [][METHOD_NAME];
  return !!method && fails(function () {
    // eslint-disable-next-line no-useless-call,no-throw-literal
    method.call(null, argument || function () { throw 1; }, 1);
  });
};

var $ = __webpack_require__(56);
var global = __webpack_require__(72);
var getBuiltIn = __webpack_require__(187);
var IS_PURE = __webpack_require__(248);
var DESCRIPTORS = __webpack_require__(95);
var NATIVE_SYMBOL = __webpack_require__(469);
var USE_SYMBOL_AS_UID = __webpack_require__(660);
var fails = __webpack_require__(68);
var has = __webpack_require__(92);
var isArray = __webpack_require__(300);
var isObject = __webpack_require__(85);
var anObject = __webpack_require__(82);
var toObject = __webpack_require__(166);
var toIndexedObject = __webpack_require__(139);
var toPrimitive = __webpack_require__(297);
var createPropertyDescriptor = __webpack_require__(296);
var nativeObjectCreate = __webpack_require__(251);
var objectKeys = __webpack_require__(474);
var getOwnPropertyNamesModule = __webpack_require__(352);
var getOwnPropertyNamesExternal = __webpack_require__(1142);
var getOwnPropertySymbolsModule = __webpack_require__(658);
var getOwnPropertyDescriptorModule = __webpack_require__(163);
var definePropertyModule = __webpack_require__(96);
var propertyIsEnumerableModule = __webpack_require__(651);
var createNonEnumerableProperty = __webpack_require__(140);
var redefine = __webpack_require__(141);
var shared = __webpack_require__(465);
var sharedKey = __webpack_require__(350);
var hiddenKeys = __webpack_require__(298);
var uid = __webpack_require__(351);
var wellKnownSymbol = __webpack_require__(73);
var wrappedWellKnownSymbolModule = __webpack_require__(669);
var defineWellKnownSymbol = __webpack_require__(670);
var setToStringTag = __webpack_require__(301);
var InternalStateModule = __webpack_require__(247);
var $forEach = __webpack_require__(249).forEach;

var HIDDEN = sharedKey('hidden');
var SYMBOL = 'Symbol';
var PROTOTYPE = 'prototype';
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(SYMBOL);
var ObjectPrototype = Object[PROTOTYPE];
var $Symbol = global.Symbol;
var $stringify = getBuiltIn('JSON', 'stringify');
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
var nativeDefineProperty = definePropertyModule.f;
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
var AllSymbols = shared('symbols');
var ObjectPrototypeSymbols = shared('op-symbols');
var StringToSymbolRegistry = shared('string-to-symbol-registry');
var SymbolToStringRegistry = shared('symbol-to-string-registry');
var WellKnownSymbolsStore = shared('wks');
var QObject = global.QObject;
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;

// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDescriptor = DESCRIPTORS && fails(function () {
  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
  })).a != 7;
}) ? function (O, P, Attributes) {
  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
  nativeDefineProperty(O, P, Attributes);
  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
  }
} : nativeDefineProperty;

var wrap = function (tag, description) {
  var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
  setInternalState(symbol, {
    type: SYMBOL,
    tag: tag,
    description: description
  });
  if (!DESCRIPTORS) symbol.description = description;
  return symbol;
};

var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
  return typeof it == 'symbol';
} : function (it) {
  return Object(it) instanceof $Symbol;
};

var $defineProperty = function defineProperty(O, P, Attributes) {
  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
  anObject(O);
  var key = toPrimitive(P, true);
  anObject(Attributes);
  if (has(AllSymbols, key)) {
    if (!Attributes.enumerable) {
      if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
      O[HIDDEN][key] = true;
    } else {
      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
    } return setSymbolDescriptor(O, key, Attributes);
  } return nativeDefineProperty(O, key, Attributes);
};

var $defineProperties = function defineProperties(O, Properties) {
  anObject(O);
  var properties = toIndexedObject(Properties);
  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
  $forEach(keys, function (key) {
    if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
  });
  return O;
};

var $create = function create(O, Properties) {
  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
};

var $propertyIsEnumerable = function propertyIsEnumerable(V) {
  var P = toPrimitive(V, true);
  var enumerable = nativePropertyIsEnumerable.call(this, P);
  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
};

var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
  var it = toIndexedObject(O);
  var key = toPrimitive(P, true);
  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
  var descriptor = nativeGetOwnPropertyDescriptor(it, key);
  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
    descriptor.enumerable = true;
  }
  return descriptor;
};

var $getOwnPropertyNames = function getOwnPropertyNames(O) {
  var names = nativeGetOwnPropertyNames(toIndexedObject(O));
  var result = [];
  $forEach(names, function (key) {
    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
  });
  return result;
};

var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
  var result = [];
  $forEach(names, function (key) {
    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
      result.push(AllSymbols[key]);
    }
  });
  return result;
};

// `Symbol` constructor
// https://tc39.github.io/ecma262/#sec-symbol-constructor
if (!NATIVE_SYMBOL) {
  $Symbol = function Symbol() {
    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
    var tag = uid(description);
    var setter = function (value) {
      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
    };
    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
    return wrap(tag, description);
  };

  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
    return getInternalState(this).tag;
  });

  redefine($Symbol, 'withoutSetter', function (description) {
    return wrap(uid(description), description);
  });

  propertyIsEnumerableModule.f = $propertyIsEnumerable;
  definePropertyModule.f = $defineProperty;
  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;

  wrappedWellKnownSymbolModule.f = function (name) {
    return wrap(wellKnownSymbol(name), name);
  };

  if (DESCRIPTORS) {
    // https://github.com/tc39/proposal-Symbol-description
    nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
      configurable: true,
      get: function description() {
        return getInternalState(this).description;
      }
    });
    if (!IS_PURE) {
      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
    }
  }
}

$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
  Symbol: $Symbol
});

$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
  defineWellKnownSymbol(name);
});

$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
  // `Symbol.for` method
  // https://tc39.github.io/ecma262/#sec-symbol.for
  'for': function (key) {
    var string = String(key);
    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
    var symbol = $Symbol(string);
    StringToSymbolRegistry[string] = symbol;
    SymbolToStringRegistry[symbol] = string;
    return symbol;
  },
  // `Symbol.keyFor` method
  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
  keyFor: function keyFor(sym) {
    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
  },
  useSetter: function () { USE_SETTER = true; },
  useSimple: function () { USE_SETTER = false; }
});

$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
  // `Object.create` method
  // https://tc39.github.io/ecma262/#sec-object.create
  create: $create,
  // `Object.defineProperty` method
  // https://tc39.github.io/ecma262/#sec-object.defineproperty
  defineProperty: $defineProperty,
  // `Object.defineProperties` method
  // https://tc39.github.io/ecma262/#sec-object.defineproperties
  defineProperties: $defineProperties,
  // `Object.getOwnPropertyDescriptor` method
  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
});

$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
  // `Object.getOwnPropertyNames` method
  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
  getOwnPropertyNames: $getOwnPropertyNames,
  // `Object.getOwnPropertySymbols` method
  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
  getOwnPropertySymbols: $getOwnPropertySymbols
});

// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
    return getOwnPropertySymbolsModule.f(toObject(it));
  }
});

// `JSON.stringify` method behavior with symbols
// https://tc39.github.io/ecma262/#sec-json.stringify
if ($stringify) {
  var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
    var symbol = $Symbol();
    // MS Edge converts symbol values to JSON as {}
    return $stringify([symbol]) != '[null]'
      // WebKit converts symbol values to JSON as null
      || $stringify({ a: symbol }) != '{}'
      // V8 throws on boxed symbols
      || $stringify(Object(symbol)) != '{}';
  });

  $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
    // eslint-disable-next-line no-unused-vars
    stringify: function stringify(it, replacer, space) {
      var args = [it];
      var index = 1;
      var $replacer;
      while (arguments.length > index) args.push(arguments[index++]);
      $replacer = replacer;
      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
      if (!isArray(replacer)) replacer = function (key, value) {
        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
        if (!isSymbol(value)) return value;
      };
      args[1] = replacer;
      return $stringify.apply(null, args);
    }
  });
}

// `Symbol.prototype[@@toPrimitive]` method
// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
  createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
}
// `Symbol.prototype[@@toStringTag]` property
// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
setToStringTag($Symbol, SYMBOL);

hiddenKeys[HIDDEN] = true;
var anObject = __webpack_require__(82);
var defineProperties = __webpack_require__(1141);
var enumBugKeys = __webpack_require__(468);
var hiddenKeys = __webpack_require__(298);
var html = __webpack_require__(668);
var documentCreateElement = __webpack_require__(462);
var sharedKey = __webpack_require__(350);

var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');

var EmptyConstructor = function () { /* empty */ };

var scriptTag = function (content) {
  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};

// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
var NullProtoObjectViaActiveX = function (activeXDocument) {
  activeXDocument.write(scriptTag(''));
  activeXDocument.close();
  var temp = activeXDocument.parentWindow.Object;
  activeXDocument = null; // avoid memory leak
  return temp;
};

// Create object with fake `null` prototype: use iframe Object with cleared prototype
var NullProtoObjectViaIFrame = function () {
  // Thrash, waste and sodomy: IE GC bug
  var iframe = documentCreateElement('iframe');
  var JS = 'java' + SCRIPT + ':';
  var iframeDocument;
  iframe.style.display = 'none';
  html.appendChild(iframe);
  // https://github.com/zloirock/core-js/issues/475
  iframe.src = String(JS);
  iframeDocument = iframe.contentWindow.document;
  iframeDocument.open();
  iframeDocument.write(scriptTag('document.F=Object'));
  iframeDocument.close();
  return iframeDocument.F;
};

// Check for document.domain and active x support
// No need to use active x approach when document.domain is not set
// see https://github.com/es-shims/es5-shim/issues/150
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
// avoid IE GC bug
var activeXDocument;
var NullProtoObject = function () {
  try {
    /* global ActiveXObject */
    activeXDocument = document.domain && new ActiveXObject('htmlfile');
  } catch (error) { /* ignore */ }
  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
  var length = enumBugKeys.length;
  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
  return NullProtoObject();
};

hiddenKeys[IE_PROTO] = true;

// `Object.create` method
// https://tc39.github.io/ecma262/#sec-object.create
module.exports = Object.create || function create(O, Properties) {
  var result;
  if (O !== null) {
    EmptyConstructor[PROTOTYPE] = anObject(O);
    result = new EmptyConstructor();
    EmptyConstructor[PROTOTYPE] = null;
    // add "__proto__" for Object.getPrototypeOf polyfill
    result[IE_PROTO] = O;
  } else result = NullProtoObject();
  return Properties === undefined ? result : defineProperties(result, Properties);
};
var DESCRIPTORS = __webpack_require__(95);
var definePropertyModule = __webpack_require__(96);
var anObject = __webpack_require__(82);
var objectKeys = __webpack_require__(474);

// `Object.defineProperties` method
// https://tc39.github.io/ecma262/#sec-object.defineproperties
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
  anObject(O);
  var keys = objectKeys(Properties);
  var length = keys.length;
  var index = 0;
  var key;
  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
  return O;
};
var internalObjectKeys = __webpack_require__(657);
var enumBugKeys = __webpack_require__(468);

// `Object.keys` method
// https://tc39.github.io/ecma262/#sec-object.keys
module.exports = Object.keys || function keys(O) {
  return internalObjectKeys(O, enumBugKeys);
};
var getBuiltIn = __webpack_require__(187);

module.exports = getBuiltIn('document', 'documentElement');
var toIndexedObject = __webpack_require__(139);
var nativeGetOwnPropertyNames = __webpack_require__(352).f;

var toString = {}.toString;

var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  ? Object.getOwnPropertyNames(window) : [];

var getWindowNames = function (it) {
  try {
    return nativeGetOwnPropertyNames(it);
  } catch (error) {
    return windowNames.slice();
  }
};

// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
module.exports.f = function getOwnPropertyNames(it) {
  return windowNames && toString.call(it) == '[object Window]'
    ? getWindowNames(it)
    : nativeGetOwnPropertyNames(toIndexedObject(it));
};
var wellKnownSymbol = __webpack_require__(73);

exports.f = wellKnownSymbol;
var path = __webpack_require__(656);
var has = __webpack_require__(92);
var wrappedWellKnownSymbolModule = __webpack_require__(669);
var defineProperty = __webpack_require__(96).f;

module.exports = function (NAME) {
  var Symbol = path.Symbol || (path.Symbol = {});
  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
    value: wrappedWellKnownSymbolModule.f(NAME)
  });
};
var defineProperty = __webpack_require__(96).f;
var has = __webpack_require__(92);
var wellKnownSymbol = __webpack_require__(73);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');

module.exports = function (it, TAG, STATIC) {
  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
  }
};

var $ = __webpack_require__(56);
var $filter = __webpack_require__(249).filter;
var arrayMethodHasSpeciesSupport = __webpack_require__(355);
var arrayMethodUsesToLength = __webpack_require__(167);

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
// Edge 14- issue
var USES_TO_LENGTH = arrayMethodUsesToLength('filter');

// `Array.prototype.filter` method
// https://tc39.github.io/ecma262/#sec-array.prototype.filter
// with adding support of @@species
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
  filter: function filter(callbackfn /* , thisArg */) {
    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

var $ = __webpack_require__(56);
var forEach = __webpack_require__(671);

// `Array.prototype.forEach` method
// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
  forEach: forEach
});

var $forEach = __webpack_require__(249).forEach;
var arrayMethodIsStrict = __webpack_require__(250);
var arrayMethodUsesToLength = __webpack_require__(167);

var STRICT_METHOD = arrayMethodIsStrict('forEach');
var USES_TO_LENGTH = arrayMethodUsesToLength('forEach');

// `Array.prototype.forEach` method implementation
// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
} : [].forEach;
var $ = __webpack_require__(56);
var fails = __webpack_require__(68);
var toIndexedObject = __webpack_require__(139);
var nativeGetOwnPropertyDescriptor = __webpack_require__(163).f;
var DESCRIPTORS = __webpack_require__(95);

var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;

// `Object.getOwnPropertyDescriptor` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
  }
});
var $ = __webpack_require__(56);
var DESCRIPTORS = __webpack_require__(95);
var ownKeys = __webpack_require__(655);
var toIndexedObject = __webpack_require__(139);
var getOwnPropertyDescriptorModule = __webpack_require__(163);
var createProperty = __webpack_require__(357);

// `Object.getOwnPropertyDescriptors` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
    var O = toIndexedObject(object);
    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
    var keys = ownKeys(O);
    var result = {};
    var index = 0;
    var key, descriptor;
    while (keys.length > index) {
      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
      if (descriptor !== undefined) createProperty(result, key, descriptor);
    }
    return result;
  }
});

var toPrimitive = __webpack_require__(297);
var definePropertyModule = __webpack_require__(96);
var createPropertyDescriptor = __webpack_require__(296);

module.exports = function (object, key, value) {
  var propertyKey = toPrimitive(key);
  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
  else object[propertyKey] = value;
};
var $ = __webpack_require__(56);
var toObject = __webpack_require__(166);
var nativeKeys = __webpack_require__(474);
var fails = __webpack_require__(68);

var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });

// `Object.keys` method
// https://tc39.github.io/ecma262/#sec-object.keys
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
  keys: function keys(it) {
    return nativeKeys(toObject(it));
  }
});
var global = __webpack_require__(72);
var DOMIterables = __webpack_require__(672);
var forEach = __webpack_require__(671);
var createNonEnumerableProperty = __webpack_require__(140);

for (var COLLECTION_NAME in DOMIterables) {
  var Collection = global[COLLECTION_NAME];
  var CollectionPrototype = Collection && Collection.prototype;
  // some Chrome versions have non-configurable methods on DOMTokenList
  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
  } catch (error) {
    CollectionPrototype.forEach = forEach;
  }
}
// iterable DOM collections
// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
module.exports = {
  CSSRuleList: 0,
  CSSStyleDeclaration: 0,
  CSSValueList: 0,
  ClientRectList: 0,
  DOMRectList: 0,
  DOMStringList: 0,
  DOMTokenList: 1,
  DataTransferItemList: 0,
  FileList: 0,
  HTMLAllCollection: 0,
  HTMLCollection: 0,
  HTMLFormElement: 0,
  HTMLSelectElement: 0,
  MediaList: 0,
  MimeTypeArray: 0,
  NamedNodeMap: 0,
  NodeList: 1,
  PaintRequestList: 0,
  Plugin: 0,
  PluginArray: 0,
  SVGLengthList: 0,
  SVGNumberList: 0,
  SVGPathSegList: 0,
  SVGPointList: 0,
  SVGStringList: 0,
  SVGTransformList: 0,
  SourceBufferList: 0,
  StyleSheetList: 0,
  TextTrackCueList: 0,
  TextTrackList: 0,
  TouchList: 0
};

var $ = __webpack_require__(56);
var fails = __webpack_require__(68);
var isArray = __webpack_require__(300);
var isObject = __webpack_require__(85);
var toObject = __webpack_require__(166);
var toLength = __webpack_require__(114);
var createProperty = __webpack_require__(357);
var arraySpeciesCreate = __webpack_require__(659);
var arrayMethodHasSpeciesSupport = __webpack_require__(355);
var wellKnownSymbol = __webpack_require__(73);
var V8_VERSION = __webpack_require__(470);

var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';

// We can't use this feature detection in V8 since it causes
// deoptimization and serious performance degradation
// https://github.com/zloirock/core-js/issues/679
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
  var array = [];
  array[IS_CONCAT_SPREADABLE] = false;
  return array.concat()[0] !== array;
});

var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');

var isConcatSpreadable = function (O) {
  if (!isObject(O)) return false;
  var spreadable = O[IS_CONCAT_SPREADABLE];
  return spreadable !== undefined ? !!spreadable : isArray(O);
};

var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;

// `Array.prototype.concat` method
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
// with adding support of @@isConcatSpreadable and @@species
$({ target: 'Array', proto: true, forced: FORCED }, {
  concat: function concat(arg) { // eslint-disable-line no-unused-vars
    var O = toObject(this);
    var A = arraySpeciesCreate(O, 0);
    var n = 0;
    var i, k, length, len, E;
    for (i = -1, length = arguments.length; i < length; i++) {
      E = i === -1 ? O : arguments[i];
      if (isConcatSpreadable(E)) {
        len = toLength(E.length);
        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
      } else {
        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
        createProperty(A, n++, E);
      }
    }
    A.length = n;
    return A;
  }
});

var $ = __webpack_require__(56);
var $every = __webpack_require__(249).every;
var arrayMethodIsStrict = __webpack_require__(250);
var arrayMethodUsesToLength = __webpack_require__(167);

var STRICT_METHOD = arrayMethodIsStrict('every');
var USES_TO_LENGTH = arrayMethodUsesToLength('every');

// `Array.prototype.every` method
// https://tc39.github.io/ecma262/#sec-array.prototype.every
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
  every: function every(callbackfn /* , thisArg */) {
    return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

var $ = __webpack_require__(56);
var $reduce = __webpack_require__(1152).left;
var arrayMethodIsStrict = __webpack_require__(250);
var arrayMethodUsesToLength = __webpack_require__(167);

var STRICT_METHOD = arrayMethodIsStrict('reduce');
var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });

// `Array.prototype.reduce` method
// https://tc39.github.io/ecma262/#sec-array.prototype.reduce
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
  reduce: function reduce(callbackfn /* , initialValue */) {
    return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
  }
});
var aFunction = __webpack_require__(188);
var toObject = __webpack_require__(166);
var IndexedObject = __webpack_require__(349);
var toLength = __webpack_require__(114);

// `Array.prototype.{ reduce, reduceRight }` methods implementation
var createMethod = function (IS_RIGHT) {
  return function (that, callbackfn, argumentsLength, memo) {
    aFunction(callbackfn);
    var O = toObject(that);
    var self = IndexedObject(O);
    var length = toLength(O.length);
    var index = IS_RIGHT ? length - 1 : 0;
    var i = IS_RIGHT ? -1 : 1;
    if (argumentsLength < 2) while (true) {
      if (index in self) {
        memo = self[index];
        index += i;
        break;
      }
      index += i;
      if (IS_RIGHT ? index < 0 : length <= index) {
        throw TypeError('Reduce of empty array with no initial value');
      }
    }
    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
      memo = callbackfn(memo, self[index], index, O);
    }
    return memo;
  };
};

module.exports = {
  // `Array.prototype.reduce` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
  left: createMethod(false),
  // `Array.prototype.reduceRight` method
  // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
  right: createMethod(true)
};
var TO_STRING_TAG_SUPPORT = __webpack_require__(475);
var redefine = __webpack_require__(141);
var toString = __webpack_require__(1154);

// `Object.prototype.toString` method
// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
if (!TO_STRING_TAG_SUPPORT) {
  redefine(Object.prototype, 'toString', toString, { unsafe: true });
}
var wellKnownSymbol = __webpack_require__(73);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};

test[TO_STRING_TAG] = 'z';

module.exports = String(test) === '[object z]';

var TO_STRING_TAG_SUPPORT = __webpack_require__(475);
var classof = __webpack_require__(673);

// `Object.prototype.toString` method implementation
// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
  return '[object ' + classof(this) + ']';
};
var TO_STRING_TAG_SUPPORT = __webpack_require__(475);
var classofRaw = __webpack_require__(164);
var wellKnownSymbol = __webpack_require__(73);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
// ES3 wrong here
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';

// fallback for IE11 Script Access Denied error
var tryGet = function (it, key) {
  try {
    return it[key];
  } catch (error) { /* empty */ }
};

// getting tag from ES6+ `Object.prototype.toString`
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
  var O, tag, result;
  return it === undefined ? 'Undefined' : it === null ? 'Null'
    // @@toStringTag case
    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
    // builtinTag case
    : CORRECT_ARGUMENTS ? classofRaw(O)
    // ES3 arguments fallback
    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
};

var $ = __webpack_require__(56);
var IS_PURE = __webpack_require__(248);
var global = __webpack_require__(72);
var getBuiltIn = __webpack_require__(187);
var NativePromise = __webpack_require__(1156);
var redefine = __webpack_require__(141);
var redefineAll = __webpack_require__(674);
var setToStringTag = __webpack_require__(301);
var setSpecies = __webpack_require__(675);
var isObject = __webpack_require__(85);
var aFunction = __webpack_require__(188);
var anInstance = __webpack_require__(476);
var classof = __webpack_require__(164);
var inspectSource = __webpack_require__(464);
var iterate = __webpack_require__(477);
var checkCorrectnessOfIteration = __webpack_require__(478);
var speciesConstructor = __webpack_require__(679);
var task = __webpack_require__(680).set;
var microtask = __webpack_require__(1157);
var promiseResolve = __webpack_require__(1158);
var hostReportErrors = __webpack_require__(1159);
var newPromiseCapabilityModule = __webpack_require__(682);
var perform = __webpack_require__(1160);
var InternalStateModule = __webpack_require__(247);
var isForced = __webpack_require__(354);
var wellKnownSymbol = __webpack_require__(73);
var V8_VERSION = __webpack_require__(470);

var SPECIES = wellKnownSymbol('species');
var PROMISE = 'Promise';
var getInternalState = InternalStateModule.get;
var setInternalState = InternalStateModule.set;
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
var PromiseConstructor = NativePromise;
var TypeError = global.TypeError;
var document = global.document;
var process = global.process;
var $fetch = getBuiltIn('fetch');
var newPromiseCapability = newPromiseCapabilityModule.f;
var newGenericPromiseCapability = newPromiseCapability;
var IS_NODE = classof(process) == 'process';
var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
var UNHANDLED_REJECTION = 'unhandledrejection';
var REJECTION_HANDLED = 'rejectionhandled';
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;

var FORCED = isForced(PROMISE, function () {
  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
  if (!GLOBAL_CORE_JS_PROMISE) {
    // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
    // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
    // We can't detect it synchronously, so just check versions
    if (V8_VERSION === 66) return true;
    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
    if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;
  }
  // We need Promise#finally in the pure version for preventing prototype pollution
  if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;
  // We can't use @@species feature detection in V8 since it causes
  // deoptimization and performance degradation
  // https://github.com/zloirock/core-js/issues/679
  if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
  // Detect correctness of subclassing with @@species support
  var promise = PromiseConstructor.resolve(1);
  var FakePromise = function (exec) {
    exec(function () { /* empty */ }, function () { /* empty */ });
  };
  var constructor = promise.constructor = {};
  constructor[SPECIES] = FakePromise;
  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
});

var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
});

// helpers
var isThenable = function (it) {
  var then;
  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
};

var notify = function (promise, state, isReject) {
  if (state.notified) return;
  state.notified = true;
  var chain = state.reactions;
  microtask(function () {
    var value = state.value;
    var ok = state.state == FULFILLED;
    var index = 0;
    // variable length - can't use forEach
    while (chain.length > index) {
      var reaction = chain[index++];
      var handler = ok ? reaction.ok : reaction.fail;
      var resolve = reaction.resolve;
      var reject = reaction.reject;
      var domain = reaction.domain;
      var result, then, exited;
      try {
        if (handler) {
          if (!ok) {
            if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);
            state.rejection = HANDLED;
          }
          if (handler === true) result = value;
          else {
            if (domain) domain.enter();
            result = handler(value); // can throw
            if (domain) {
              domain.exit();
              exited = true;
            }
          }
          if (result === reaction.promise) {
            reject(TypeError('Promise-chain cycle'));
          } else if (then = isThenable(result)) {
            then.call(result, resolve, reject);
          } else resolve(result);
        } else reject(value);
      } catch (error) {
        if (domain && !exited) domain.exit();
        reject(error);
      }
    }
    state.reactions = [];
    state.notified = false;
    if (isReject && !state.rejection) onUnhandled(promise, state);
  });
};

var dispatchEvent = function (name, promise, reason) {
  var event, handler;
  if (DISPATCH_EVENT) {
    event = document.createEvent('Event');
    event.promise = promise;
    event.reason = reason;
    event.initEvent(name, false, true);
    global.dispatchEvent(event);
  } else event = { promise: promise, reason: reason };
  if (handler = global['on' + name]) handler(event);
  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
};

var onUnhandled = function (promise, state) {
  task.call(global, function () {
    var value = state.value;
    var IS_UNHANDLED = isUnhandled(state);
    var result;
    if (IS_UNHANDLED) {
      result = perform(function () {
        if (IS_NODE) {
          process.emit('unhandledRejection', value, promise);
        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
      });
      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
      if (result.error) throw result.value;
    }
  });
};

var isUnhandled = function (state) {
  return state.rejection !== HANDLED && !state.parent;
};

var onHandleUnhandled = function (promise, state) {
  task.call(global, function () {
    if (IS_NODE) {
      process.emit('rejectionHandled', promise);
    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
  });
};

var bind = function (fn, promise, state, unwrap) {
  return function (value) {
    fn(promise, state, value, unwrap);
  };
};

var internalReject = function (promise, state, value, unwrap) {
  if (state.done) return;
  state.done = true;
  if (unwrap) state = unwrap;
  state.value = value;
  state.state = REJECTED;
  notify(promise, state, true);
};

var internalResolve = function (promise, state, value, unwrap) {
  if (state.done) return;
  state.done = true;
  if (unwrap) state = unwrap;
  try {
    if (promise === value) throw TypeError("Promise can't be resolved itself");
    var then = isThenable(value);
    if (then) {
      microtask(function () {
        var wrapper = { done: false };
        try {
          then.call(value,
            bind(internalResolve, promise, wrapper, state),
            bind(internalReject, promise, wrapper, state)
          );
        } catch (error) {
          internalReject(promise, wrapper, error, state);
        }
      });
    } else {
      state.value = value;
      state.state = FULFILLED;
      notify(promise, state, false);
    }
  } catch (error) {
    internalReject(promise, { done: false }, error, state);
  }
};

// constructor polyfill
if (FORCED) {
  // 25.4.3.1 Promise(executor)
  PromiseConstructor = function Promise(executor) {
    anInstance(this, PromiseConstructor, PROMISE);
    aFunction(executor);
    Internal.call(this);
    var state = getInternalState(this);
    try {
      executor(bind(internalResolve, this, state), bind(internalReject, this, state));
    } catch (error) {
      internalReject(this, state, error);
    }
  };
  // eslint-disable-next-line no-unused-vars
  Internal = function Promise(executor) {
    setInternalState(this, {
      type: PROMISE,
      done: false,
      notified: false,
      parent: false,
      reactions: [],
      rejection: false,
      state: PENDING,
      value: undefined
    });
  };
  Internal.prototype = redefineAll(PromiseConstructor.prototype, {
    // `Promise.prototype.then` method
    // https://tc39.github.io/ecma262/#sec-promise.prototype.then
    then: function then(onFulfilled, onRejected) {
      var state = getInternalPromiseState(this);
      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
      reaction.fail = typeof onRejected == 'function' && onRejected;
      reaction.domain = IS_NODE ? process.domain : undefined;
      state.parent = true;
      state.reactions.push(reaction);
      if (state.state != PENDING) notify(this, state, false);
      return reaction.promise;
    },
    // `Promise.prototype.catch` method
    // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
    'catch': function (onRejected) {
      return this.then(undefined, onRejected);
    }
  });
  OwnPromiseCapability = function () {
    var promise = new Internal();
    var state = getInternalState(promise);
    this.promise = promise;
    this.resolve = bind(internalResolve, promise, state);
    this.reject = bind(internalReject, promise, state);
  };
  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
    return C === PromiseConstructor || C === PromiseWrapper
      ? new OwnPromiseCapability(C)
      : newGenericPromiseCapability(C);
  };

  if (!IS_PURE && typeof NativePromise == 'function') {
    nativeThen = NativePromise.prototype.then;

    // wrap native Promise#then for native async functions
    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
      var that = this;
      return new PromiseConstructor(function (resolve, reject) {
        nativeThen.call(that, resolve, reject);
      }).then(onFulfilled, onRejected);
    // https://github.com/zloirock/core-js/issues/640
    }, { unsafe: true });

    // wrap fetch result
    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
      // eslint-disable-next-line no-unused-vars
      fetch: function fetch(input /* , init */) {
        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
      }
    });
  }
}

$({ global: true, wrap: true, forced: FORCED }, {
  Promise: PromiseConstructor
});

setToStringTag(PromiseConstructor, PROMISE, false, true);
setSpecies(PROMISE);

PromiseWrapper = getBuiltIn(PROMISE);

// statics
$({ target: PROMISE, stat: true, forced: FORCED }, {
  // `Promise.reject` method
  // https://tc39.github.io/ecma262/#sec-promise.reject
  reject: function reject(r) {
    var capability = newPromiseCapability(this);
    capability.reject.call(undefined, r);
    return capability.promise;
  }
});

$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
  // `Promise.resolve` method
  // https://tc39.github.io/ecma262/#sec-promise.resolve
  resolve: function resolve(x) {
    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
  }
});

$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
  // `Promise.all` method
  // https://tc39.github.io/ecma262/#sec-promise.all
  all: function all(iterable) {
    var C = this;
    var capability = newPromiseCapability(C);
    var resolve = capability.resolve;
    var reject = capability.reject;
    var result = perform(function () {
      var $promiseResolve = aFunction(C.resolve);
      var values = [];
      var counter = 0;
      var remaining = 1;
      iterate(iterable, function (promise) {
        var index = counter++;
        var alreadyCalled = false;
        values.push(undefined);
        remaining++;
        $promiseResolve.call(C, promise).then(function (value) {
          if (alreadyCalled) return;
          alreadyCalled = true;
          values[index] = value;
          --remaining || resolve(values);
        }, reject);
      });
      --remaining || resolve(values);
    });
    if (result.error) reject(result.value);
    return capability.promise;
  },
  // `Promise.race` method
  // https://tc39.github.io/ecma262/#sec-promise.race
  race: function race(iterable) {
    var C = this;
    var capability = newPromiseCapability(C);
    var reject = capability.reject;
    var result = perform(function () {
      var $promiseResolve = aFunction(C.resolve);
      iterate(iterable, function (promise) {
        $promiseResolve.call(C, promise).then(capability.resolve, reject);
      });
    });
    if (result.error) reject(result.value);
    return capability.promise;
  }
});
var global = __webpack_require__(72);

module.exports = global.Promise;
var redefine = __webpack_require__(141);

module.exports = function (target, src, options) {
  for (var key in src) redefine(target, key, src[key], options);
  return target;
};

var getBuiltIn = __webpack_require__(187);
var definePropertyModule = __webpack_require__(96);
var wellKnownSymbol = __webpack_require__(73);
var DESCRIPTORS = __webpack_require__(95);

var SPECIES = wellKnownSymbol('species');

module.exports = function (CONSTRUCTOR_NAME) {
  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
  var defineProperty = definePropertyModule.f;

  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
    defineProperty(Constructor, SPECIES, {
      configurable: true,
      get: function () { return this; }
    });
  }
};
module.exports = function (it, Constructor, name) {
  if (!(it instanceof Constructor)) {
    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
  } return it;
};
var anObject = __webpack_require__(82);
var isArrayIteratorMethod = __webpack_require__(676);
var toLength = __webpack_require__(114);
var bind = __webpack_require__(299);
var getIteratorMethod = __webpack_require__(677);
var callWithSafeIterationClosing = __webpack_require__(678);

var Result = function (stopped, result) {
  this.stopped = stopped;
  this.result = result;
};

var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
  var iterator, iterFn, index, length, result, next, step;

  if (IS_ITERATOR) {
    iterator = iterable;
  } else {
    iterFn = getIteratorMethod(iterable);
    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
    // optimisation for array iterators
    if (isArrayIteratorMethod(iterFn)) {
      for (index = 0, length = toLength(iterable.length); length > index; index++) {
        result = AS_ENTRIES
          ? boundFunction(anObject(step = iterable[index])[0], step[1])
          : boundFunction(iterable[index]);
        if (result && result instanceof Result) return result;
      } return new Result(false);
    }
    iterator = iterFn.call(iterable);
  }

  next = iterator.next;
  while (!(step = next.call(iterator)).done) {
    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
    if (typeof result == 'object' && result && result instanceof Result) return result;
  } return new Result(false);
};

iterate.stop = function (result) {
  return new Result(true, result);
};
var wellKnownSymbol = __webpack_require__(73);
var Iterators = __webpack_require__(302);

var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;

// check on default Array iterator
module.exports = function (it) {
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};
module.exports = {};
var classof = __webpack_require__(673);
var Iterators = __webpack_require__(302);
var wellKnownSymbol = __webpack_require__(73);

var ITERATOR = wellKnownSymbol('iterator');

module.exports = function (it) {
  if (it != undefined) return it[ITERATOR]
    || it['@@iterator']
    || Iterators[classof(it)];
};
var anObject = __webpack_require__(82);

// call something on iterator step with safe closing on error
module.exports = function (iterator, fn, value, ENTRIES) {
  try {
    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
  // 7.4.6 IteratorClose(iterator, completion)
  } catch (error) {
    var returnMethod = iterator['return'];
    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
    throw error;
  }
};
var wellKnownSymbol = __webpack_require__(73);

var ITERATOR = wellKnownSymbol('iterator');
var SAFE_CLOSING = false;

try {
  var called = 0;
  var iteratorWithReturn = {
    next: function () {
      return { done: !!called++ };
    },
    'return': function () {
      SAFE_CLOSING = true;
    }
  };
  iteratorWithReturn[ITERATOR] = function () {
    return this;
  };
  // eslint-disable-next-line no-throw-literal
  Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ }

module.exports = function (exec, SKIP_CLOSING) {
  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
  var ITERATION_SUPPORT = false;
  try {
    var object = {};
    object[ITERATOR] = function () {
      return {
        next: function () {
          return { done: ITERATION_SUPPORT = true };
        }
      };
    };
    exec(object);
  } catch (error) { /* empty */ }
  return ITERATION_SUPPORT;
};
var anObject = __webpack_require__(82);
var aFunction = __webpack_require__(188);
var wellKnownSymbol = __webpack_require__(73);

var SPECIES = wellKnownSymbol('species');

// `SpeciesConstructor` abstract operation
// https://tc39.github.io/ecma262/#sec-speciesconstructor
module.exports = function (O, defaultConstructor) {
  var C = anObject(O).constructor;
  var S;
  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
};
var global = __webpack_require__(72);
var fails = __webpack_require__(68);
var classof = __webpack_require__(164);
var bind = __webpack_require__(299);
var html = __webpack_require__(668);
var createElement = __webpack_require__(462);
var IS_IOS = __webpack_require__(681);

var location = global.location;
var set = global.setImmediate;
var clear = global.clearImmediate;
var process = global.process;
var MessageChannel = global.MessageChannel;
var Dispatch = global.Dispatch;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var defer, channel, port;

var run = function (id) {
  // eslint-disable-next-line no-prototype-builtins
  if (queue.hasOwnProperty(id)) {
    var fn = queue[id];
    delete queue[id];
    fn();
  }
};

var runner = function (id) {
  return function () {
    run(id);
  };
};

var listener = function (event) {
  run(event.data);
};

var post = function (id) {
  // old engines have not location.origin
  global.postMessage(id + '', location.protocol + '//' + location.host);
};

// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if (!set || !clear) {
  set = function setImmediate(fn) {
    var args = [];
    var i = 1;
    while (arguments.length > i) args.push(arguments[i++]);
    queue[++counter] = function () {
      // eslint-disable-next-line no-new-func
      (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
    };
    defer(counter);
    return counter;
  };
  clear = function clearImmediate(id) {
    delete queue[id];
  };
  // Node.js 0.8-
  if (classof(process) == 'process') {
    defer = function (id) {
      process.nextTick(runner(id));
    };
  // Sphere (JS game engine) Dispatch API
  } else if (Dispatch && Dispatch.now) {
    defer = function (id) {
      Dispatch.now(runner(id));
    };
  // Browsers with MessageChannel, includes WebWorkers
  // except iOS - https://github.com/zloirock/core-js/issues/624
  } else if (MessageChannel && !IS_IOS) {
    channel = new MessageChannel();
    port = channel.port2;
    channel.port1.onmessage = listener;
    defer = bind(port.postMessage, port, 1);
  // Browsers with postMessage, skip WebWorkers
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
  } else if (
    global.addEventListener &&
    typeof postMessage == 'function' &&
    !global.importScripts &&
    !fails(post) &&
    location.protocol !== 'file:'
  ) {
    defer = post;
    global.addEventListener('message', listener, false);
  // IE8-
  } else if (ONREADYSTATECHANGE in createElement('script')) {
    defer = function (id) {
      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
        html.removeChild(this);
        run(id);
      };
    };
  // Rest old browsers
  } else {
    defer = function (id) {
      setTimeout(runner(id), 0);
    };
  }
}

module.exports = {
  set: set,
  clear: clear
};
var userAgent = __webpack_require__(661);

module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
var global = __webpack_require__(72);
var getOwnPropertyDescriptor = __webpack_require__(163).f;
var classof = __webpack_require__(164);
var macrotask = __webpack_require__(680).set;
var IS_IOS = __webpack_require__(681);

var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
var process = global.process;
var Promise = global.Promise;
var IS_NODE = classof(process) == 'process';
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;

var flush, head, last, notify, toggle, node, promise, then;

// modern engines have queueMicrotask method
if (!queueMicrotask) {
  flush = function () {
    var parent, fn;
    if (IS_NODE && (parent = process.domain)) parent.exit();
    while (head) {
      fn = head.fn;
      head = head.next;
      try {
        fn();
      } catch (error) {
        if (head) notify();
        else last = undefined;
        throw error;
      }
    } last = undefined;
    if (parent) parent.enter();
  };

  // Node.js
  if (IS_NODE) {
    notify = function () {
      process.nextTick(flush);
    };
  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
  } else if (MutationObserver && !IS_IOS) {
    toggle = true;
    node = document.createTextNode('');
    new MutationObserver(flush).observe(node, { characterData: true });
    notify = function () {
      node.data = toggle = !toggle;
    };
  // environments with maybe non-completely correct, but existent Promise
  } else if (Promise && Promise.resolve) {
    // Promise.resolve without an argument throws an error in LG WebOS 2
    promise = Promise.resolve(undefined);
    then = promise.then;
    notify = function () {
      then.call(promise, flush);
    };
  // for other environments - macrotask based on:
  // - setImmediate
  // - MessageChannel
  // - window.postMessag
  // - onreadystatechange
  // - setTimeout
  } else {
    notify = function () {
      // strange IE + webpack dev server bug - use .call(global)
      macrotask.call(global, flush);
    };
  }
}

module.exports = queueMicrotask || function (fn) {
  var task = { fn: fn, next: undefined };
  if (last) last.next = task;
  if (!head) {
    head = task;
    notify();
  } last = task;
};
var anObject = __webpack_require__(82);
var isObject = __webpack_require__(85);
var newPromiseCapability = __webpack_require__(682);

module.exports = function (C, x) {
  anObject(C);
  if (isObject(x) && x.constructor === C) return x;
  var promiseCapability = newPromiseCapability.f(C);
  var resolve = promiseCapability.resolve;
  resolve(x);
  return promiseCapability.promise;
};

var aFunction = __webpack_require__(188);

var PromiseCapability = function (C) {
  var resolve, reject;
  this.promise = new C(function ($$resolve, $$reject) {
    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
    resolve = $$resolve;
    reject = $$reject;
  });
  this.resolve = aFunction(resolve);
  this.reject = aFunction(reject);
};

// 25.4.1.5 NewPromiseCapability(C)
module.exports.f = function (C) {
  return new PromiseCapability(C);
};
var global = __webpack_require__(72);

module.exports = function (a, b) {
  var console = global.console;
  if (console && console.error) {
    arguments.length === 1 ? console.error(a) : console.error(a, b);
  }
};
module.exports = function (exec) {
  try {
    return { error: false, value: exec() };
  } catch (error) {
    return { error: true, value: error };
  }
};

var fixRegExpWellKnownSymbolLogic = __webpack_require__(471);
var isRegExp = __webpack_require__(666);
var anObject = __webpack_require__(82);
var requireObjectCoercible = __webpack_require__(165);
var speciesConstructor = __webpack_require__(679);
var advanceStringIndex = __webpack_require__(472);
var toLength = __webpack_require__(114);
var callRegExpExec = __webpack_require__(473);
var regexpExec = __webpack_require__(356);
var fails = __webpack_require__(68);

var arrayPush = [].push;
var min = Math.min;
var MAX_UINT32 = 0xFFFFFFFF;

// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });

// @@split logic
fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
  var internalSplit;
  if (
    'abbc'.split(/(b)*/)[1] == 'c' ||
    'test'.split(/(?:)/, -1).length != 4 ||
    'ab'.split(/(?:ab)*/).length != 2 ||
    '.'.split(/(.?)(.?)/).length != 4 ||
    '.'.split(/()()/).length > 1 ||
    ''.split(/.?/).length
  ) {
    // based on es5-shim implementation, need to rework it
    internalSplit = function (separator, limit) {
      var string = String(requireObjectCoercible(this));
      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
      if (lim === 0) return [];
      if (separator === undefined) return [string];
      // If `separator` is not a regex, use native split
      if (!isRegExp(separator)) {
        return nativeSplit.call(string, separator, lim);
      }
      var output = [];
      var flags = (separator.ignoreCase ? 'i' : '') +
                  (separator.multiline ? 'm' : '') +
                  (separator.unicode ? 'u' : '') +
                  (separator.sticky ? 'y' : '');
      var lastLastIndex = 0;
      // Make `global` and avoid `lastIndex` issues by working with a copy
      var separatorCopy = new RegExp(separator.source, flags + 'g');
      var match, lastIndex, lastLength;
      while (match = regexpExec.call(separatorCopy, string)) {
        lastIndex = separatorCopy.lastIndex;
        if (lastIndex > lastLastIndex) {
          output.push(string.slice(lastLastIndex, match.index));
          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
          lastLength = match[0].length;
          lastLastIndex = lastIndex;
          if (output.length >= lim) break;
        }
        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
      }
      if (lastLastIndex === string.length) {
        if (lastLength || !separatorCopy.test('')) output.push('');
      } else output.push(string.slice(lastLastIndex));
      return output.length > lim ? output.slice(0, lim) : output;
    };
  // Chakra, V8
  } else if ('0'.split(undefined, 0).length) {
    internalSplit = function (separator, limit) {
      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
    };
  } else internalSplit = nativeSplit;

  return [
    // `String.prototype.split` method
    // https://tc39.github.io/ecma262/#sec-string.prototype.split
    function split(separator, limit) {
      var O = requireObjectCoercible(this);
      var splitter = separator == undefined ? undefined : separator[SPLIT];
      return splitter !== undefined
        ? splitter.call(separator, O, limit)
        : internalSplit.call(String(O), separator, limit);
    },
    // `RegExp.prototype[@@split]` method
    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
    //
    // NOTE: This cannot be properly polyfilled in engines that don't support
    // the 'y' flag.
    function (regexp, limit) {
      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
      if (res.done) return res.value;

      var rx = anObject(regexp);
      var S = String(this);
      var C = speciesConstructor(rx, RegExp);

      var unicodeMatching = rx.unicode;
      var flags = (rx.ignoreCase ? 'i' : '') +
                  (rx.multiline ? 'm' : '') +
                  (rx.unicode ? 'u' : '') +
                  (SUPPORTS_Y ? 'y' : 'g');

      // ^(? + rx + ) is needed, in combination with some S slicing, to
      // simulate the 'y' flag.
      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
      if (lim === 0) return [];
      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
      var p = 0;
      var q = 0;
      var A = [];
      while (q < S.length) {
        splitter.lastIndex = SUPPORTS_Y ? q : 0;
        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
        var e;
        if (
          z === null ||
          (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
        ) {
          q = advanceStringIndex(S, q, unicodeMatching);
        } else {
          A.push(S.slice(p, q));
          if (A.length === lim) return A;
          for (var i = 1; i <= z.length - 1; i++) {
            A.push(z[i]);
            if (A.length === lim) return A;
          }
          q = p = e;
        }
      }
      A.push(S.slice(p));
      return A;
    }
  ];
}, !SUPPORTS_Y);
/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(1162)
  , root = typeof window === 'undefined' ? global : window
  , vendors = ['moz', 'webkit']
  , suffix = 'AnimationFrame'
  , raf = root['request' + suffix]
  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]

for(var i = 0; !raf && i < vendors.length; i++) {
  raf = root[vendors[i] + 'Request' + suffix]
  caf = root[vendors[i] + 'Cancel' + suffix]
      || root[vendors[i] + 'CancelRequest' + suffix]
}

// Some versions of FF have rAF but not cAF
if(!raf || !caf) {
  var last = 0
    , id = 0
    , queue = []
    , frameDuration = 1000 / 60

  raf = function(callback) {
    if(queue.length === 0) {
      var _now = now()
        , next = Math.max(0, frameDuration - (_now - last))
      last = next + _now
      setTimeout(function() {
        var cp = queue.slice(0)
        // Clear queue here to prevent
        // callbacks from appending listeners
        // to the current frame's queue
        queue.length = 0
        for(var i = 0; i < cp.length; i++) {
          if(!cp[i].cancelled) {
            try{
              cp[i].callback(last)
            } catch(e) {
              setTimeout(function() { throw e }, 0)
            }
          }
        }
      }, Math.round(next))
    }
    queue.push({
      handle: ++id,
      callback: callback,
      cancelled: false
    })
    return id
  }

  caf = function(handle) {
    for(var i = 0; i < queue.length; i++) {
      if(queue[i].handle === handle) {
        queue[i].cancelled = true
      }
    }
  }
}

module.exports = function(fn) {
  // Wrap in a new function to prevent
  // `cancel` potentially being assigned
  // to the native rAF function
  return raf.call(root, fn)
}
module.exports.cancel = function() {
  caf.apply(root, arguments)
}
module.exports.polyfill = function(object) {
  if (!object) {
    object = root;
  }
  object.requestAnimationFrame = raf
  object.cancelAnimationFrame = caf
}

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(37)))/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2
(function() {
  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;

  if ((typeof performance !== "undefined" && performance !== null) && performance.now) {
    module.exports = function() {
      return performance.now();
    };
  } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) {
    module.exports = function() {
      return (getNanoSeconds() - nodeLoadTime) / 1e6;
    };
    hrtime = process.hrtime;
    getNanoSeconds = function() {
      var hr;
      hr = hrtime();
      return hr[0] * 1e9 + hr[1];
    };
    moduleLoadTime = getNanoSeconds();
    upTime = process.uptime() * 1e9;
    nodeLoadTime = moduleLoadTime - upTime;
  } else if (Date.now) {
    module.exports = function() {
      return Date.now() - loadTime;
    };
    loadTime = Date.now();
  } else {
    module.exports = function() {
      return new Date().getTime() - loadTime;
    };
    loadTime = new Date().getTime();
  }

}).call(this);

//# sourceMappingURL=performance-now.js.map

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(86)))var DESCRIPTORS = __webpack_require__(95);
var defineProperty = __webpack_require__(96).f;

var FunctionPrototype = Function.prototype;
var FunctionPrototypeToString = FunctionPrototype.toString;
var nameRE = /^\s*function ([^ (]*)/;
var NAME = 'name';

// Function instances `.name` property
// https://tc39.github.io/ecma262/#sec-function-instances-name
if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
  defineProperty(FunctionPrototype, NAME, {
    configurable: true,
    get: function () {
      try {
        return FunctionPrototypeToString.call(this).match(nameRE)[1];
      } catch (error) {
        return '';
      }
    }
  });
}
/*
	Based on rgbcolor.js by Stoyan Stefanov <sstoo@gmail.com>
	http://www.phpied.com/rgb-color-parser-in-javascript/
*/

module.exports = function(color_string) {
    this.ok = false;
    this.alpha = 1.0;

    // strip any leading #
    if (color_string.charAt(0) == '#') { // remove # if any
        color_string = color_string.substr(1,6);
    }

    color_string = color_string.replace(/ /g,'');
    color_string = color_string.toLowerCase();

    // before getting into regexps, try simple matches
    // and overwrite the input
    var simple_colors = {
        aliceblue: 'f0f8ff',
        antiquewhite: 'faebd7',
        aqua: '00ffff',
        aquamarine: '7fffd4',
        azure: 'f0ffff',
        beige: 'f5f5dc',
        bisque: 'ffe4c4',
        black: '000000',
        blanchedalmond: 'ffebcd',
        blue: '0000ff',
        blueviolet: '8a2be2',
        brown: 'a52a2a',
        burlywood: 'deb887',
        cadetblue: '5f9ea0',
        chartreuse: '7fff00',
        chocolate: 'd2691e',
        coral: 'ff7f50',
        cornflowerblue: '6495ed',
        cornsilk: 'fff8dc',
        crimson: 'dc143c',
        cyan: '00ffff',
        darkblue: '00008b',
        darkcyan: '008b8b',
        darkgoldenrod: 'b8860b',
        darkgray: 'a9a9a9',
        darkgreen: '006400',
        darkkhaki: 'bdb76b',
        darkmagenta: '8b008b',
        darkolivegreen: '556b2f',
        darkorange: 'ff8c00',
        darkorchid: '9932cc',
        darkred: '8b0000',
        darksalmon: 'e9967a',
        darkseagreen: '8fbc8f',
        darkslateblue: '483d8b',
        darkslategray: '2f4f4f',
        darkturquoise: '00ced1',
        darkviolet: '9400d3',
        deeppink: 'ff1493',
        deepskyblue: '00bfff',
        dimgray: '696969',
        dodgerblue: '1e90ff',
        feldspar: 'd19275',
        firebrick: 'b22222',
        floralwhite: 'fffaf0',
        forestgreen: '228b22',
        fuchsia: 'ff00ff',
        gainsboro: 'dcdcdc',
        ghostwhite: 'f8f8ff',
        gold: 'ffd700',
        goldenrod: 'daa520',
        gray: '808080',
        green: '008000',
        greenyellow: 'adff2f',
        honeydew: 'f0fff0',
        hotpink: 'ff69b4',
        indianred : 'cd5c5c',
        indigo : '4b0082',
        ivory: 'fffff0',
        khaki: 'f0e68c',
        lavender: 'e6e6fa',
        lavenderblush: 'fff0f5',
        lawngreen: '7cfc00',
        lemonchiffon: 'fffacd',
        lightblue: 'add8e6',
        lightcoral: 'f08080',
        lightcyan: 'e0ffff',
        lightgoldenrodyellow: 'fafad2',
        lightgrey: 'd3d3d3',
        lightgreen: '90ee90',
        lightpink: 'ffb6c1',
        lightsalmon: 'ffa07a',
        lightseagreen: '20b2aa',
        lightskyblue: '87cefa',
        lightslateblue: '8470ff',
        lightslategray: '778899',
        lightsteelblue: 'b0c4de',
        lightyellow: 'ffffe0',
        lime: '00ff00',
        limegreen: '32cd32',
        linen: 'faf0e6',
        magenta: 'ff00ff',
        maroon: '800000',
        mediumaquamarine: '66cdaa',
        mediumblue: '0000cd',
        mediumorchid: 'ba55d3',
        mediumpurple: '9370d8',
        mediumseagreen: '3cb371',
        mediumslateblue: '7b68ee',
        mediumspringgreen: '00fa9a',
        mediumturquoise: '48d1cc',
        mediumvioletred: 'c71585',
        midnightblue: '191970',
        mintcream: 'f5fffa',
        mistyrose: 'ffe4e1',
        moccasin: 'ffe4b5',
        navajowhite: 'ffdead',
        navy: '000080',
        oldlace: 'fdf5e6',
        olive: '808000',
        olivedrab: '6b8e23',
        orange: 'ffa500',
        orangered: 'ff4500',
        orchid: 'da70d6',
        palegoldenrod: 'eee8aa',
        palegreen: '98fb98',
        paleturquoise: 'afeeee',
        palevioletred: 'd87093',
        papayawhip: 'ffefd5',
        peachpuff: 'ffdab9',
        peru: 'cd853f',
        pink: 'ffc0cb',
        plum: 'dda0dd',
        powderblue: 'b0e0e6',
        purple: '800080',
        rebeccapurple: '663399',
        red: 'ff0000',
        rosybrown: 'bc8f8f',
        royalblue: '4169e1',
        saddlebrown: '8b4513',
        salmon: 'fa8072',
        sandybrown: 'f4a460',
        seagreen: '2e8b57',
        seashell: 'fff5ee',
        sienna: 'a0522d',
        silver: 'c0c0c0',
        skyblue: '87ceeb',
        slateblue: '6a5acd',
        slategray: '708090',
        snow: 'fffafa',
        springgreen: '00ff7f',
        steelblue: '4682b4',
        tan: 'd2b48c',
        teal: '008080',
        thistle: 'd8bfd8',
        tomato: 'ff6347',
        turquoise: '40e0d0',
        violet: 'ee82ee',
        violetred: 'd02090',
        wheat: 'f5deb3',
        white: 'ffffff',
        whitesmoke: 'f5f5f5',
        yellow: 'ffff00',
        yellowgreen: '9acd32'
    };
    color_string = simple_colors[color_string] || color_string;
    // emd of simple type-in colors

    // array of color definition objects
    var color_defs = [
        {
            re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,
            example: ['rgba(123, 234, 45, 0.8)', 'rgba(255,234,245,1.0)'],
            process: function (bits){
                return [
                    parseInt(bits[1]),
                    parseInt(bits[2]),
                    parseInt(bits[3]),
                    parseFloat(bits[4])
                ];
            }
        },
        {
            re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
            example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],
            process: function (bits){
                return [
                    parseInt(bits[1]),
                    parseInt(bits[2]),
                    parseInt(bits[3])
                ];
            }
        },
        {
            re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
            example: ['#00ff00', '336699'],
            process: function (bits){
                return [
                    parseInt(bits[1], 16),
                    parseInt(bits[2], 16),
                    parseInt(bits[3], 16)
                ];
            }
        },
        {
            re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
            example: ['#fb0', 'f0f'],
            process: function (bits){
                return [
                    parseInt(bits[1] + bits[1], 16),
                    parseInt(bits[2] + bits[2], 16),
                    parseInt(bits[3] + bits[3], 16)
                ];
            }
        }
    ];

    // search through the definitions to find a match
    for (var i = 0; i < color_defs.length; i++) {
        var re = color_defs[i].re;
        var processor = color_defs[i].process;
        var bits = re.exec(color_string);
        if (bits) {
            var channels = processor(bits);
            this.r = channels[0];
            this.g = channels[1];
            this.b = channels[2];
            if (channels.length > 3) {
                this.alpha = channels[3];
            }
            this.ok = true;
        }

    }

    // validate/cleanup values
    this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);
    this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);
    this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);
    this.alpha = (this.alpha < 0) ? 0 : ((this.alpha > 1.0 || isNaN(this.alpha)) ? 1.0 : this.alpha);

    // some getters
    this.toRGB = function () {
        return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';
    }
    this.toRGBA = function () {
        return 'rgba(' + this.r + ', ' + this.g + ', ' + this.b + ', ' + this.alpha + ')';
    }
    this.toHex = function () {
        var r = this.r.toString(16);
        var g = this.g.toString(16);
        var b = this.b.toString(16);
        if (r.length == 1) r = '0' + r;
        if (g.length == 1) g = '0' + g;
        if (b.length == 1) b = '0' + b;
        return '#' + r + g + b;
    }

    // help
    this.getHelpXML = function () {

        var examples = new Array();
        // add regexps
        for (var i = 0; i < color_defs.length; i++) {
            var example = color_defs[i].example;
            for (var j = 0; j < example.length; j++) {
                examples[examples.length] = example[j];
            }
        }
        // add type-in colors
        for (var sc in simple_colors) {
            examples[examples.length] = sc;
        }

        var xml = document.createElement('ul');
        xml.setAttribute('id', 'rgbcolor-examples');
        for (var i = 0; i < examples.length; i++) {
            try {
                var list_item = document.createElement('li');
                var list_color = new RGBColor(examples[i]);
                var example_div = document.createElement('div');
                example_div.style.cssText =
                        'margin: 3px; '
                        + 'border: 1px solid black; '
                        + 'background:' + list_color.toHex() + '; '
                        + 'color:' + list_color.toHex()
                ;
                example_div.appendChild(document.createTextNode('test'));
                var list_item_value = document.createTextNode(
                    ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex()
                );
                list_item.appendChild(example_div);
                list_item.appendChild(list_item_value);
                xml.appendChild(list_item);

            } catch(e){}
        }
        return xml;

    }

}
var $ = __webpack_require__(56);
var getBuiltIn = __webpack_require__(187);
var aFunction = __webpack_require__(188);
var anObject = __webpack_require__(82);
var isObject = __webpack_require__(85);
var create = __webpack_require__(251);
var bind = __webpack_require__(1165);
var fails = __webpack_require__(68);

var nativeConstruct = getBuiltIn('Reflect', 'construct');

// `Reflect.construct` method
// https://tc39.github.io/ecma262/#sec-reflect.construct
// MS Edge supports only 2 arguments and argumentsList argument is optional
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
var NEW_TARGET_BUG = fails(function () {
  function F() { /* empty */ }
  return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
});
var ARGS_BUG = !fails(function () {
  nativeConstruct(function () { /* empty */ });
});
var FORCED = NEW_TARGET_BUG || ARGS_BUG;

$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {
  construct: function construct(Target, args /* , newTarget */) {
    aFunction(Target);
    anObject(args);
    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
    if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
    if (Target == newTarget) {
      // w/o altered newTarget, optimization for 0-4 arguments
      switch (args.length) {
        case 0: return new Target();
        case 1: return new Target(args[0]);
        case 2: return new Target(args[0], args[1]);
        case 3: return new Target(args[0], args[1], args[2]);
        case 4: return new Target(args[0], args[1], args[2], args[3]);
      }
      // w/o altered newTarget, lot of arguments case
      var $args = [null];
      $args.push.apply($args, args);
      return new (bind.apply(Target, $args))();
    }
    // with altered newTarget, not support built-in constructors
    var proto = newTarget.prototype;
    var instance = create(isObject(proto) ? proto : Object.prototype);
    var result = Function.apply.call(Target, instance, args);
    return isObject(result) ? result : instance;
  }
});

var aFunction = __webpack_require__(188);
var isObject = __webpack_require__(85);

var slice = [].slice;
var factories = {};

var construct = function (C, argsLength, args) {
  if (!(argsLength in factories)) {
    for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
    // eslint-disable-next-line no-new-func
    factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
  } return factories[argsLength](C, args);
};

// `Function.prototype.bind` method implementation
// https://tc39.github.io/ecma262/#sec-function.prototype.bind
module.exports = Function.bind || function bind(that /* , ...args */) {
  var fn = aFunction(this);
  var partArgs = slice.call(arguments, 1);
  var boundFunction = function bound(/* args... */) {
    var args = partArgs.concat(slice.call(arguments));
    return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
  };
  if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
  return boundFunction;
};

var redefine = __webpack_require__(141);
var anObject = __webpack_require__(82);
var fails = __webpack_require__(68);
var flags = __webpack_require__(663);

var TO_STRING = 'toString';
var RegExpPrototype = RegExp.prototype;
var nativeToString = RegExpPrototype[TO_STRING];

var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
// FF44- RegExp#toString has a wrong name
var INCORRECT_NAME = nativeToString.name != TO_STRING;

// `RegExp.prototype.toString` method
// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
if (NOT_GENERIC || INCORRECT_NAME) {
  redefine(RegExp.prototype, TO_STRING, function toString() {
    var R = anObject(this);
    var p = String(R.source);
    var rf = R.flags;
    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
    return '/' + p + '/' + f;
  }, { unsafe: true });
}
var $ = __webpack_require__(56);
var from = __webpack_require__(1168);
var checkCorrectnessOfIteration = __webpack_require__(478);

var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
  Array.from(iterable);
});

// `Array.from` method
// https://tc39.github.io/ecma262/#sec-array.from
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
  from: from
});

var bind = __webpack_require__(299);
var toObject = __webpack_require__(166);
var callWithSafeIterationClosing = __webpack_require__(678);
var isArrayIteratorMethod = __webpack_require__(676);
var toLength = __webpack_require__(114);
var createProperty = __webpack_require__(357);
var getIteratorMethod = __webpack_require__(677);

// `Array.from` method implementation
// https://tc39.github.io/ecma262/#sec-array.from
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
  var O = toObject(arrayLike);
  var C = typeof this == 'function' ? this : Array;
  var argumentsLength = arguments.length;
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
  var mapping = mapfn !== undefined;
  var iteratorMethod = getIteratorMethod(O);
  var index = 0;
  var length, result, step, iterator, next, value;
  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
  // if the target is not iterable or it's an array with the default iterator - use a simple case
  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
    iterator = iteratorMethod.call(O);
    next = iterator.next;
    result = new C();
    for (;!(step = next.call(iterator)).done; index++) {
      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
      createProperty(result, index, value);
    }
  } else {
    length = toLength(O.length);
    result = new C(length);
    for (;length > index; index++) {
      value = mapping ? mapfn(O[index], index) : O[index];
      createProperty(result, index, value);
    }
  }
  result.length = index;
  return result;
};

var $ = __webpack_require__(56);
var $includes = __webpack_require__(466).includes;
var addToUnscopables = __webpack_require__(479);
var arrayMethodUsesToLength = __webpack_require__(167);

var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });

// `Array.prototype.includes` method
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {
  includes: function includes(el /* , fromIndex = 0 */) {
    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
  }
});

// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');
var wellKnownSymbol = __webpack_require__(73);
var create = __webpack_require__(251);
var definePropertyModule = __webpack_require__(96);

var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;

// Array.prototype[@@unscopables]
// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] == undefined) {
  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
    configurable: true,
    value: create(null)
  });
}

// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
  ArrayPrototype[UNSCOPABLES][key] = true;
};

var $ = __webpack_require__(56);
var $some = __webpack_require__(249).some;
var arrayMethodIsStrict = __webpack_require__(250);
var arrayMethodUsesToLength = __webpack_require__(167);

var STRICT_METHOD = arrayMethodIsStrict('some');
var USES_TO_LENGTH = arrayMethodUsesToLength('some');

// `Array.prototype.some` method
// https://tc39.github.io/ecma262/#sec-array.prototype.some
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
  some: function some(callbackfn /* , thisArg */) {
    return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

var $ = __webpack_require__(56);
var notARegExp = __webpack_require__(665);
var requireObjectCoercible = __webpack_require__(165);
var correctIsRegExpLogic = __webpack_require__(667);

// `String.prototype.includes` method
// https://tc39.github.io/ecma262/#sec-string.prototype.includes
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
  includes: function includes(searchString /* , position = 0 */) {
    return !!~String(requireObjectCoercible(this))
      .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
  }
});

var charAt = __webpack_require__(664).charAt;
var InternalStateModule = __webpack_require__(247);
var defineIterator = __webpack_require__(480);

var STRING_ITERATOR = 'String Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);

// `String.prototype[@@iterator]` method
// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
defineIterator(String, 'String', function (iterated) {
  setInternalState(this, {
    type: STRING_ITERATOR,
    string: String(iterated),
    index: 0
  });
// `%StringIteratorPrototype%.next` method
// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
}, function next() {
  var state = getInternalState(this);
  var string = state.string;
  var index = state.index;
  var point;
  if (index >= string.length) return { value: undefined, done: true };
  point = charAt(string, index);
  state.index += point.length;
  return { value: point, done: false };
});

var $ = __webpack_require__(56);
var createIteratorConstructor = __webpack_require__(1173);
var getPrototypeOf = __webpack_require__(481);
var setPrototypeOf = __webpack_require__(685);
var setToStringTag = __webpack_require__(301);
var createNonEnumerableProperty = __webpack_require__(140);
var redefine = __webpack_require__(141);
var wellKnownSymbol = __webpack_require__(73);
var IS_PURE = __webpack_require__(248);
var Iterators = __webpack_require__(302);
var IteratorsCore = __webpack_require__(683);

var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';

var returnThis = function () { return this; };

module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
  createIteratorConstructor(IteratorConstructor, NAME, next);

  var getIterationMethod = function (KIND) {
    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
    switch (KIND) {
      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
    } return function () { return new IteratorConstructor(this); };
  };

  var TO_STRING_TAG = NAME + ' Iterator';
  var INCORRECT_VALUES_NAME = false;
  var IterablePrototype = Iterable.prototype;
  var nativeIterator = IterablePrototype[ITERATOR]
    || IterablePrototype['@@iterator']
    || DEFAULT && IterablePrototype[DEFAULT];
  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
  var CurrentIteratorPrototype, methods, KEY;

  // fix native
  if (anyNativeIterator) {
    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
        if (setPrototypeOf) {
          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
        }
      }
      // Set @@toStringTag to native iterators
      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
    }
  }

  // fix Array#{values, @@iterator}.name in V8 / FF
  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
    INCORRECT_VALUES_NAME = true;
    defaultIterator = function values() { return nativeIterator.call(this); };
  }

  // define iterator
  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
  }
  Iterators[NAME] = defaultIterator;

  // export additional methods
  if (DEFAULT) {
    methods = {
      values: getIterationMethod(VALUES),
      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
      entries: getIterationMethod(ENTRIES)
    };
    if (FORCED) for (KEY in methods) {
      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
        redefine(IterablePrototype, KEY, methods[KEY]);
      }
    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
  }

  return methods;
};

var IteratorPrototype = __webpack_require__(683).IteratorPrototype;
var create = __webpack_require__(251);
var createPropertyDescriptor = __webpack_require__(296);
var setToStringTag = __webpack_require__(301);
var Iterators = __webpack_require__(302);

var returnThis = function () { return this; };

module.exports = function (IteratorConstructor, NAME, next) {
  var TO_STRING_TAG = NAME + ' Iterator';
  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
  Iterators[TO_STRING_TAG] = returnThis;
  return IteratorConstructor;
};

var getPrototypeOf = __webpack_require__(481);
var createNonEnumerableProperty = __webpack_require__(140);
var has = __webpack_require__(92);
var wellKnownSymbol = __webpack_require__(73);
var IS_PURE = __webpack_require__(248);

var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;

var returnThis = function () { return this; };

// `%IteratorPrototype%` object
// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;

if ([].keys) {
  arrayIterator = [].keys();
  // Safari 8 has buggy iterators w/o `next`
  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
  else {
    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
  }
}

if (IteratorPrototype == undefined) IteratorPrototype = {};

// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
}

module.exports = {
  IteratorPrototype: IteratorPrototype,
  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};
var has = __webpack_require__(92);
var toObject = __webpack_require__(166);
var sharedKey = __webpack_require__(350);
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(684);

var IE_PROTO = sharedKey('IE_PROTO');
var ObjectPrototype = Object.prototype;

// `Object.getPrototypeOf` method
// https://tc39.github.io/ecma262/#sec-object.getprototypeof
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
  O = toObject(O);
  if (has(O, IE_PROTO)) return O[IE_PROTO];
  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
    return O.constructor.prototype;
  } return O instanceof Object ? ObjectPrototype : null;
};
var fails = __webpack_require__(68);

module.exports = !fails(function () {
  function F() { /* empty */ }
  F.prototype.constructor = null;
  return Object.getPrototypeOf(new F()) !== F.prototype;
});
var anObject = __webpack_require__(82);
var aPossiblePrototype = __webpack_require__(1174);

// `Object.setPrototypeOf` method
// https://tc39.github.io/ecma262/#sec-object.setprototypeof
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
  var CORRECT_SETTER = false;
  var test = {};
  var setter;
  try {
    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
    setter.call(test, []);
    CORRECT_SETTER = test instanceof Array;
  } catch (error) { /* empty */ }
  return function setPrototypeOf(O, proto) {
    anObject(O);
    aPossiblePrototype(proto);
    if (CORRECT_SETTER) setter.call(O, proto);
    else O.__proto__ = proto;
    return O;
  };
}() : undefined);
var isObject = __webpack_require__(85);

module.exports = function (it) {
  if (!isObject(it) && it !== null) {
    throw TypeError("Can't set " + String(it) + ' as a prototype');
  } return it;
};

var $ = __webpack_require__(56);
var $trim = __webpack_require__(686).trim;
var forcedStringTrimMethod = __webpack_require__(1176);

// `String.prototype.trim` method
// https://tc39.github.io/ecma262/#sec-string.prototype.trim
$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
  trim: function trim() {
    return $trim(this);
  }
});
var requireObjectCoercible = __webpack_require__(165);
var whitespaces = __webpack_require__(687);

var whitespace = '[' + whitespaces + ']';
var ltrim = RegExp('^' + whitespace + whitespace + '*');
var rtrim = RegExp(whitespace + whitespace + '*$');

// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
var createMethod = function (TYPE) {
  return function ($this) {
    var string = String(requireObjectCoercible($this));
    if (TYPE & 1) string = string.replace(ltrim, '');
    if (TYPE & 2) string = string.replace(rtrim, '');
    return string;
  };
};

module.exports = {
  // `String.prototype.{ trimLeft, trimStart }` methods
  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
  start: createMethod(1),
  // `String.prototype.{ trimRight, trimEnd }` methods
  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
  end: createMethod(2),
  // `String.prototype.trim` method
  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
  trim: createMethod(3)
};
// a string of all valid unicode whitespaces
// eslint-disable-next-line max-len
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
var fails = __webpack_require__(68);
var whitespaces = __webpack_require__(687);

var non = '\u200B\u0085\u180E';

// check that a method works with the correct list
// of whitespaces and has a correct name
module.exports = function (METHOD_NAME) {
  return fails(function () {
    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
  });
};
var arrayWithoutHoles = __webpack_require__(1177);

var iterableToArray = __webpack_require__(1178);

var unsupportedIterableToArray = __webpack_require__(691);

var nonIterableSpread = __webpack_require__(1179);

function _toConsumableArray(arr) {
  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
}

module.exports = _toConsumableArray;var arrayLikeToArray = __webpack_require__(692);

function _arrayWithoutHoles(arr) {
  if (Array.isArray(arr)) return arrayLikeToArray(arr);
}

module.exports = _arrayWithoutHoles;function _iterableToArray(iter) {
  if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
}

module.exports = _iterableToArray;function _nonIterableSpread() {
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}

module.exports = _nonIterableSpread;
var $ = __webpack_require__(56);
var $indexOf = __webpack_require__(466).indexOf;
var arrayMethodIsStrict = __webpack_require__(250);
var arrayMethodUsesToLength = __webpack_require__(167);

var nativeIndexOf = [].indexOf;

var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
var STRICT_METHOD = arrayMethodIsStrict('indexOf');
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });

// `Array.prototype.indexOf` method
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {
  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
    return NEGATIVE_ZERO
      // convert -0 to +0
      ? nativeIndexOf.apply(this, arguments) || 0
      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
  }
});

var $ = __webpack_require__(56);
var isArray = __webpack_require__(300);

var nativeReverse = [].reverse;
var test = [1, 2];

// `Array.prototype.reverse` method
// https://tc39.github.io/ecma262/#sec-array.prototype.reverse
// fix for Safari 12.0 bug
// https://bugs.webkit.org/show_bug.cgi?id=188794
$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
  reverse: function reverse() {
    // eslint-disable-next-line no-self-assign
    if (isArray(this)) this.length = this.length;
    return nativeReverse.call(this);
  }
});
var superPropBase = __webpack_require__(1182);

function _get(target, property, receiver) {
  if (typeof Reflect !== "undefined" && Reflect.get) {
    module.exports = _get = Reflect.get;
  } else {
    module.exports = _get = function _get(target, property, receiver) {
      var base = superPropBase(target, property);
      if (!base) return;
      var desc = Object.getOwnPropertyDescriptor(base, property);

      if (desc.get) {
        return desc.get.call(receiver);
      }

      return desc.value;
    };
  }

  return _get(target, property, receiver || target);
}

module.exports = _get;var getPrototypeOf = __webpack_require__(13);

function _superPropBase(object, property) {
  while (!Object.prototype.hasOwnProperty.call(object, property)) {
    object = getPrototypeOf(object);
    if (object === null) break;
  }

  return object;
}

module.exports = _superPropBase;
var DESCRIPTORS = __webpack_require__(95);
var global = __webpack_require__(72);
var isForced = __webpack_require__(354);
var redefine = __webpack_require__(141);
var has = __webpack_require__(92);
var classof = __webpack_require__(164);
var inheritIfRequired = __webpack_require__(688);
var toPrimitive = __webpack_require__(297);
var fails = __webpack_require__(68);
var create = __webpack_require__(251);
var getOwnPropertyNames = __webpack_require__(352).f;
var getOwnPropertyDescriptor = __webpack_require__(163).f;
var defineProperty = __webpack_require__(96).f;
var trim = __webpack_require__(686).trim;

var NUMBER = 'Number';
var NativeNumber = global[NUMBER];
var NumberPrototype = NativeNumber.prototype;

// Opera ~12 has broken Object#toString
var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;

// `ToNumber` abstract operation
// https://tc39.github.io/ecma262/#sec-tonumber
var toNumber = function (argument) {
  var it = toPrimitive(argument, false);
  var first, third, radix, maxCode, digits, length, index, code;
  if (typeof it == 'string' && it.length > 2) {
    it = trim(it);
    first = it.charCodeAt(0);
    if (first === 43 || first === 45) {
      third = it.charCodeAt(2);
      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
    } else if (first === 48) {
      switch (it.charCodeAt(1)) {
        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
        default: return +it;
      }
      digits = it.slice(2);
      length = digits.length;
      for (index = 0; index < length; index++) {
        code = digits.charCodeAt(index);
        // parseInt parses a string to a first unavailable symbol
        // but ToNumber should return NaN if a string contains unavailable symbols
        if (code < 48 || code > maxCode) return NaN;
      } return parseInt(digits, radix);
    }
  } return +it;
};

// `Number` constructor
// https://tc39.github.io/ecma262/#sec-number-constructor
if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
  var NumberWrapper = function Number(value) {
    var it = arguments.length < 1 ? 0 : value;
    var dummy = this;
    return dummy instanceof NumberWrapper
      // check on 1..constructor(foo) case
      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
  };
  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
    // ES3:
    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
    // ES2015 (in case, if modules with ES2015 Number statics required before):
    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
  ).split(','), j = 0, key; keys.length > j; j++) {
    if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
    }
  }
  NumberWrapper.prototype = NumberPrototype;
  NumberPrototype.constructor = NumberWrapper;
  redefine(global, NUMBER, NumberWrapper);
}
var isObject = __webpack_require__(85);
var setPrototypeOf = __webpack_require__(685);

// makes subclassing work correct for wrapped built-ins
module.exports = function ($this, dummy, Wrapper) {
  var NewTarget, NewTargetPrototype;
  if (
    // it can work only with native `setPrototypeOf`
    setPrototypeOf &&
    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
    typeof (NewTarget = dummy.constructor) == 'function' &&
    NewTarget !== Wrapper &&
    isObject(NewTargetPrototype = NewTarget.prototype) &&
    NewTargetPrototype !== Wrapper.prototype
  ) setPrototypeOf($this, NewTargetPrototype);
  return $this;
};
var $ = __webpack_require__(56);
var fill = __webpack_require__(1185);
var addToUnscopables = __webpack_require__(479);

// `Array.prototype.fill` method
// https://tc39.github.io/ecma262/#sec-array.prototype.fill
$({ target: 'Array', proto: true }, {
  fill: fill
});

// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('fill');

var toObject = __webpack_require__(166);
var toAbsoluteIndex = __webpack_require__(467);
var toLength = __webpack_require__(114);

// `Array.prototype.fill` method implementation
// https://tc39.github.io/ecma262/#sec-array.prototype.fill
module.exports = function fill(value /* , start = 0, end = @length */) {
  var O = toObject(this);
  var length = toLength(O.length);
  var argumentsLength = arguments.length;
  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
  var end = argumentsLength > 2 ? arguments[2] : undefined;
  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
  while (endPos > index) O[index++] = value;
  return O;
};
var $ = __webpack_require__(56);
var anObject = __webpack_require__(82);
var getOwnPropertyDescriptor = __webpack_require__(163).f;

// `Reflect.deleteProperty` method
// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
$({ target: 'Reflect', stat: true }, {
  deleteProperty: function deleteProperty(target, propertyKey) {
    var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
    return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
  }
});

var toIndexedObject = __webpack_require__(139);
var addToUnscopables = __webpack_require__(479);
var Iterators = __webpack_require__(302);
var InternalStateModule = __webpack_require__(247);
var defineIterator = __webpack_require__(480);

var ARRAY_ITERATOR = 'Array Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);

// `Array.prototype.entries` method
// https://tc39.github.io/ecma262/#sec-array.prototype.entries
// `Array.prototype.keys` method
// https://tc39.github.io/ecma262/#sec-array.prototype.keys
// `Array.prototype.values` method
// https://tc39.github.io/ecma262/#sec-array.prototype.values
// `Array.prototype[@@iterator]` method
// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
// `CreateArrayIterator` internal method
// https://tc39.github.io/ecma262/#sec-createarrayiterator
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
  setInternalState(this, {
    type: ARRAY_ITERATOR,
    target: toIndexedObject(iterated), // target
    index: 0,                          // next index
    kind: kind                         // kind
  });
// `%ArrayIteratorPrototype%.next` method
// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
}, function () {
  var state = getInternalState(this);
  var target = state.target;
  var kind = state.kind;
  var index = state.index++;
  if (!target || index >= target.length) {
    state.target = undefined;
    return { value: undefined, done: true };
  }
  if (kind == 'keys') return { value: index, done: false };
  if (kind == 'values') return { value: target[index], done: false };
  return { value: [index, target[index]], done: false };
}, 'values');

// argumentsList[@@iterator] is %ArrayProto_values%
// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
Iterators.Arguments = Iterators.Array;

// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');
var global = __webpack_require__(72);
var DOMIterables = __webpack_require__(672);
var ArrayIteratorMethods = __webpack_require__(689);
var createNonEnumerableProperty = __webpack_require__(140);
var wellKnownSymbol = __webpack_require__(73);

var ITERATOR = wellKnownSymbol('iterator');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ArrayValues = ArrayIteratorMethods.values;

for (var COLLECTION_NAME in DOMIterables) {
  var Collection = global[COLLECTION_NAME];
  var CollectionPrototype = Collection && Collection.prototype;
  if (CollectionPrototype) {
    // some Chrome versions have non-configurable methods on DOMTokenList
    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
    } catch (error) {
      CollectionPrototype[ITERATOR] = ArrayValues;
    }
    if (!CollectionPrototype[TO_STRING_TAG]) {
      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
    }
    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
      // some Chrome versions have non-configurable methods on DOMTokenList
      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
      } catch (error) {
        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
      }
    }
  }
}
// `Symbol.prototype.description` getter
// https://tc39.github.io/ecma262/#sec-symbol.prototype.description

var $ = __webpack_require__(56);
var DESCRIPTORS = __webpack_require__(95);
var global = __webpack_require__(72);
var has = __webpack_require__(92);
var isObject = __webpack_require__(85);
var defineProperty = __webpack_require__(96).f;
var copyConstructorProperties = __webpack_require__(654);

var NativeSymbol = global.Symbol;

if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
  // Safari 12 bug
  NativeSymbol().description !== undefined
)) {
  var EmptyStringDescriptionStore = {};
  // wrap Symbol constructor for correct work with undefined description
  var SymbolWrapper = function Symbol() {
    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
    var result = this instanceof SymbolWrapper
      ? new NativeSymbol(description)
      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
      : description === undefined ? NativeSymbol() : NativeSymbol(description);
    if (description === '') EmptyStringDescriptionStore[result] = true;
    return result;
  };
  copyConstructorProperties(SymbolWrapper, NativeSymbol);
  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
  symbolPrototype.constructor = SymbolWrapper;

  var symbolToString = symbolPrototype.toString;
  var native = String(NativeSymbol('test')) == 'Symbol(test)';
  var regexp = /^Symbol\((.*)\)[^)]+$/;
  defineProperty(symbolPrototype, 'description', {
    configurable: true,
    get: function description() {
      var symbol = isObject(this) ? this.valueOf() : this;
      var string = symbolToString.call(symbol);
      if (has(EmptyStringDescriptionStore, symbol)) return '';
      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
      return desc === '' ? undefined : desc;
    }
  });

  $({ global: true, forced: true }, {
    Symbol: SymbolWrapper
  });
}
var defineWellKnownSymbol = __webpack_require__(670);

// `Symbol.iterator` well-known symbol
// https://tc39.github.io/ecma262/#sec-symbol.iterator
defineWellKnownSymbol('iterator');

var $ = __webpack_require__(56);
var isObject = __webpack_require__(85);
var isArray = __webpack_require__(300);
var toAbsoluteIndex = __webpack_require__(467);
var toLength = __webpack_require__(114);
var toIndexedObject = __webpack_require__(139);
var createProperty = __webpack_require__(357);
var wellKnownSymbol = __webpack_require__(73);
var arrayMethodHasSpeciesSupport = __webpack_require__(355);
var arrayMethodUsesToLength = __webpack_require__(167);

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });

var SPECIES = wellKnownSymbol('species');
var nativeSlice = [].slice;
var max = Math.max;

// `Array.prototype.slice` method
// https://tc39.github.io/ecma262/#sec-array.prototype.slice
// fallback for not array-like ES3 strings and DOM objects
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
  slice: function slice(start, end) {
    var O = toIndexedObject(this);
    var length = toLength(O.length);
    var k = toAbsoluteIndex(start, length);
    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
    var Constructor, result, n;
    if (isArray(O)) {
      Constructor = O.constructor;
      // cross-realm fallback
      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
        Constructor = undefined;
      } else if (isObject(Constructor)) {
        Constructor = Constructor[SPECIES];
        if (Constructor === null) Constructor = undefined;
      }
      if (Constructor === Array || Constructor === undefined) {
        return nativeSlice.call(O, k, fin);
      }
    }
    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
    result.length = n;
    return result;
  }
});

var collection = __webpack_require__(1192);
var collectionStrong = __webpack_require__(1194);

// `Map` constructor
// https://tc39.github.io/ecma262/#sec-map-objects
module.exports = collection('Map', function (init) {
  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
}, collectionStrong);

var $ = __webpack_require__(56);
var global = __webpack_require__(72);
var isForced = __webpack_require__(354);
var redefine = __webpack_require__(141);
var InternalMetadataModule = __webpack_require__(690);
var iterate = __webpack_require__(477);
var anInstance = __webpack_require__(476);
var isObject = __webpack_require__(85);
var fails = __webpack_require__(68);
var checkCorrectnessOfIteration = __webpack_require__(478);
var setToStringTag = __webpack_require__(301);
var inheritIfRequired = __webpack_require__(688);

module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
  var ADDER = IS_MAP ? 'set' : 'add';
  var NativeConstructor = global[CONSTRUCTOR_NAME];
  var NativePrototype = NativeConstructor && NativeConstructor.prototype;
  var Constructor = NativeConstructor;
  var exported = {};

  var fixMethod = function (KEY) {
    var nativeMethod = NativePrototype[KEY];
    redefine(NativePrototype, KEY,
      KEY == 'add' ? function add(value) {
        nativeMethod.call(this, value === 0 ? 0 : value);
        return this;
      } : KEY == 'delete' ? function (key) {
        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
      } : KEY == 'get' ? function get(key) {
        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
      } : KEY == 'has' ? function has(key) {
        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
      } : function set(key, value) {
        nativeMethod.call(this, key === 0 ? 0 : key, value);
        return this;
      }
    );
  };

  // eslint-disable-next-line max-len
  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
    new NativeConstructor().entries().next();
  })))) {
    // create collection constructor
    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
    InternalMetadataModule.REQUIRED = true;
  } else if (isForced(CONSTRUCTOR_NAME, true)) {
    var instance = new Constructor();
    // early implementations not supports chaining
    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
    // most early implementations doesn't supports iterables, most modern - not close it correctly
    // eslint-disable-next-line no-new
    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
    // for early implementations -0 and +0 not the same
    var BUGGY_ZERO = !IS_WEAK && fails(function () {
      // V8 ~ Chromium 42- fails only with 5+ elements
      var $instance = new NativeConstructor();
      var index = 5;
      while (index--) $instance[ADDER](index, index);
      return !$instance.has(-0);
    });

    if (!ACCEPT_ITERABLES) {
      Constructor = wrapper(function (dummy, iterable) {
        anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
        if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
        return that;
      });
      Constructor.prototype = NativePrototype;
      NativePrototype.constructor = Constructor;
    }

    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
      fixMethod('delete');
      fixMethod('has');
      IS_MAP && fixMethod('get');
    }

    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);

    // weak collections should not contains .clear method
    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
  }

  exported[CONSTRUCTOR_NAME] = Constructor;
  $({ global: true, forced: Constructor != NativeConstructor }, exported);

  setToStringTag(Constructor, CONSTRUCTOR_NAME);

  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);

  return Constructor;
};
var hiddenKeys = __webpack_require__(298);
var isObject = __webpack_require__(85);
var has = __webpack_require__(92);
var defineProperty = __webpack_require__(96).f;
var uid = __webpack_require__(351);
var FREEZING = __webpack_require__(1193);

var METADATA = uid('meta');
var id = 0;

var isExtensible = Object.isExtensible || function () {
  return true;
};

var setMetadata = function (it) {
  defineProperty(it, METADATA, { value: {
    objectID: 'O' + ++id, // object ID
    weakData: {}          // weak collections IDs
  } });
};

var fastKey = function (it, create) {
  // return a primitive with prefix
  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  if (!has(it, METADATA)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return 'F';
    // not necessary to add metadata
    if (!create) return 'E';
    // add missing metadata
    setMetadata(it);
  // return object ID
  } return it[METADATA].objectID;
};

var getWeakData = function (it, create) {
  if (!has(it, METADATA)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return true;
    // not necessary to add metadata
    if (!create) return false;
    // add missing metadata
    setMetadata(it);
  // return the store of weak collections IDs
  } return it[METADATA].weakData;
};

// add metadata on freeze-family methods calling
var onFreeze = function (it) {
  if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
  return it;
};

var meta = module.exports = {
  REQUIRED: false,
  fastKey: fastKey,
  getWeakData: getWeakData,
  onFreeze: onFreeze
};

hiddenKeys[METADATA] = true;
var fails = __webpack_require__(68);

module.exports = !fails(function () {
  return Object.isExtensible(Object.preventExtensions({}));
});

var defineProperty = __webpack_require__(96).f;
var create = __webpack_require__(251);
var redefineAll = __webpack_require__(674);
var bind = __webpack_require__(299);
var anInstance = __webpack_require__(476);
var iterate = __webpack_require__(477);
var defineIterator = __webpack_require__(480);
var setSpecies = __webpack_require__(675);
var DESCRIPTORS = __webpack_require__(95);
var fastKey = __webpack_require__(690).fastKey;
var InternalStateModule = __webpack_require__(247);

var setInternalState = InternalStateModule.set;
var internalStateGetterFor = InternalStateModule.getterFor;

module.exports = {
  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
    var C = wrapper(function (that, iterable) {
      anInstance(that, C, CONSTRUCTOR_NAME);
      setInternalState(that, {
        type: CONSTRUCTOR_NAME,
        index: create(null),
        first: undefined,
        last: undefined,
        size: 0
      });
      if (!DESCRIPTORS) that.size = 0;
      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
    });

    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);

    var define = function (that, key, value) {
      var state = getInternalState(that);
      var entry = getEntry(that, key);
      var previous, index;
      // change existing entry
      if (entry) {
        entry.value = value;
      // create new entry
      } else {
        state.last = entry = {
          index: index = fastKey(key, true),
          key: key,
          value: value,
          previous: previous = state.last,
          next: undefined,
          removed: false
        };
        if (!state.first) state.first = entry;
        if (previous) previous.next = entry;
        if (DESCRIPTORS) state.size++;
        else that.size++;
        // add to index
        if (index !== 'F') state.index[index] = entry;
      } return that;
    };

    var getEntry = function (that, key) {
      var state = getInternalState(that);
      // fast case
      var index = fastKey(key);
      var entry;
      if (index !== 'F') return state.index[index];
      // frozen object case
      for (entry = state.first; entry; entry = entry.next) {
        if (entry.key == key) return entry;
      }
    };

    redefineAll(C.prototype, {
      // 23.1.3.1 Map.prototype.clear()
      // 23.2.3.2 Set.prototype.clear()
      clear: function clear() {
        var that = this;
        var state = getInternalState(that);
        var data = state.index;
        var entry = state.first;
        while (entry) {
          entry.removed = true;
          if (entry.previous) entry.previous = entry.previous.next = undefined;
          delete data[entry.index];
          entry = entry.next;
        }
        state.first = state.last = undefined;
        if (DESCRIPTORS) state.size = 0;
        else that.size = 0;
      },
      // 23.1.3.3 Map.prototype.delete(key)
      // 23.2.3.4 Set.prototype.delete(value)
      'delete': function (key) {
        var that = this;
        var state = getInternalState(that);
        var entry = getEntry(that, key);
        if (entry) {
          var next = entry.next;
          var prev = entry.previous;
          delete state.index[entry.index];
          entry.removed = true;
          if (prev) prev.next = next;
          if (next) next.previous = prev;
          if (state.first == entry) state.first = next;
          if (state.last == entry) state.last = prev;
          if (DESCRIPTORS) state.size--;
          else that.size--;
        } return !!entry;
      },
      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
      forEach: function forEach(callbackfn /* , that = undefined */) {
        var state = getInternalState(this);
        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
        var entry;
        while (entry = entry ? entry.next : state.first) {
          boundFunction(entry.value, entry.key, this);
          // revert to the last existing entry
          while (entry && entry.removed) entry = entry.previous;
        }
      },
      // 23.1.3.7 Map.prototype.has(key)
      // 23.2.3.7 Set.prototype.has(value)
      has: function has(key) {
        return !!getEntry(this, key);
      }
    });

    redefineAll(C.prototype, IS_MAP ? {
      // 23.1.3.6 Map.prototype.get(key)
      get: function get(key) {
        var entry = getEntry(this, key);
        return entry && entry.value;
      },
      // 23.1.3.9 Map.prototype.set(key, value)
      set: function set(key, value) {
        return define(this, key === 0 ? 0 : key, value);
      }
    } : {
      // 23.2.3.1 Set.prototype.add(value)
      add: function add(value) {
        return define(this, value = value === 0 ? 0 : value, value);
      }
    });
    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
      get: function () {
        return getInternalState(this).size;
      }
    });
    return C;
  },
  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
    // add .keys, .values, .entries, [@@iterator]
    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
    defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
      setInternalState(this, {
        type: ITERATOR_NAME,
        target: iterated,
        state: getInternalCollectionState(iterated),
        kind: kind,
        last: undefined
      });
    }, function () {
      var state = getInternalIteratorState(this);
      var kind = state.kind;
      var entry = state.last;
      // revert to the last existing entry
      while (entry && entry.removed) entry = entry.previous;
      // get next entry
      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
        // or finish the iteration
        state.target = undefined;
        return { value: undefined, done: true };
      }
      // return step by kind
      if (kind == 'keys') return { value: entry.key, done: false };
      if (kind == 'values') return { value: entry.value, done: false };
      return { value: [entry.key, entry.value], done: false };
    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);

    // add [@@species], 23.1.2.2, 23.2.2.2
    setSpecies(CONSTRUCTOR_NAME);
  }
};
var $ = __webpack_require__(56);
var getBuiltIn = __webpack_require__(187);
var aFunction = __webpack_require__(188);
var anObject = __webpack_require__(82);
var fails = __webpack_require__(68);

var nativeApply = getBuiltIn('Reflect', 'apply');
var functionApply = Function.apply;

// MS Edge argumentsList argument is optional
var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
  nativeApply(function () { /* empty */ });
});

// `Reflect.apply` method
// https://tc39.github.io/ecma262/#sec-reflect.apply
$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
  apply: function apply(target, thisArgument, argumentsList) {
    aFunction(target);
    anObject(argumentsList);
    return nativeApply
      ? nativeApply(target, thisArgument, argumentsList)
      : functionApply.call(target, thisArgument, argumentsList);
  }
});
var $ = __webpack_require__(56);
var anObject = __webpack_require__(82);
var objectGetPrototypeOf = __webpack_require__(481);
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(684);

// `Reflect.getPrototypeOf` method
// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {
  getPrototypeOf: function getPrototypeOf(target) {
    return objectGetPrototypeOf(anObject(target));
  }
});
/* unused harmony export BlurStack */
/* unused harmony export canvasRGB */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return processCanvasRGBA; });
/* unused harmony export image */
/* unused harmony export imageDataRGB */
/* unused harmony export imageDataRGBA */
function _typeof(obj) {
  "@babel/helpers - typeof";

  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
    _typeof = function (obj) {
      return typeof obj;
    };
  } else {
    _typeof = function (obj) {
      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
    };
  }

  return _typeof(obj);
}

function _classCallCheck(instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
}

/* eslint-disable no-bitwise -- used for calculations */

/* eslint-disable unicorn/prefer-query-selector -- aiming at
  backward-compatibility */

/**
* StackBlur - a fast almost Gaussian Blur For Canvas
*
* In case you find this class useful - especially in commercial projects -
* I am not totally unhappy for a small donation to my PayPal account
* mario@quasimondo.de
*
* Or support me on flattr:
* {@link https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript}.
*
* @module StackBlur
* @author Mario Klingemann
* Contact: mario@quasimondo.com
* Website: {@link http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html}
* Twitter: @quasimondo
*
* @copyright (c) 2010 Mario Klingemann
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/**
 * @param {string|HTMLImageElement} img
 * @param {string|HTMLCanvasElement} canvas
 * @param {Float} radius
 * @param {boolean} blurAlphaChannel
 * @param {boolean} useOffsetWidth
 * @returns {undefined}
 */

function processImage(img, canvas, radius, blurAlphaChannel, useOffsetWidth) {
  if (typeof img === 'string') {
    img = document.getElementById(img);
  }

  if (!img || !('naturalWidth' in img)) {
    return;
  }

  var dimensionType = useOffsetWidth ? 'offset' : 'natural';
  var w = img[dimensionType + 'Width'];
  var h = img[dimensionType + 'Height'];

  if (typeof canvas === 'string') {
    canvas = document.getElementById(canvas);
  }

  if (!canvas || !('getContext' in canvas)) {
    return;
  }

  canvas.style.width = w + 'px';
  canvas.style.height = h + 'px';
  canvas.width = w;
  canvas.height = h;
  var context = canvas.getContext('2d');
  context.clearRect(0, 0, w, h);
  context.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight, 0, 0, w, h);

  if (isNaN(radius) || radius < 1) {
    return;
  }

  if (blurAlphaChannel) {
    processCanvasRGBA(canvas, 0, 0, w, h, radius);
  } else {
    processCanvasRGB(canvas, 0, 0, w, h, radius);
  }
}
/**
 * @param {string|HTMLCanvasElement} canvas
 * @param {Integer} topX
 * @param {Integer} topY
 * @param {Integer} width
 * @param {Integer} height
 * @throws {Error|TypeError}
 * @returns {ImageData} See {@link https://html.spec.whatwg.org/multipage/canvas.html#imagedata}
 */


function getImageDataFromCanvas(canvas, topX, topY, width, height) {
  if (typeof canvas === 'string') {
    canvas = document.getElementById(canvas);
  }

  if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
    throw new TypeError('Expecting canvas with `getContext` method ' + 'in processCanvasRGB(A) calls!');
  }

  var context = canvas.getContext('2d');

  try {
    return context.getImageData(topX, topY, width, height);
  } catch (e) {
    throw new Error('unable to access image data: ' + e);
  }
}
/**
 * @param {HTMLCanvasElement} canvas
 * @param {Integer} topX
 * @param {Integer} topY
 * @param {Integer} width
 * @param {Integer} height
 * @param {Float} radius
 * @returns {undefined}
 */


function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
  if (isNaN(radius) || radius < 1) {
    return;
  }

  radius |= 0;
  var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
  imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius);
  canvas.getContext('2d').putImageData(imageData, topX, topY);
}
/**
 * @param {ImageData} imageData
 * @param {Integer} topX
 * @param {Integer} topY
 * @param {Integer} width
 * @param {Integer} height
 * @param {Float} radius
 * @returns {ImageData}
 */


function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
  var pixels = imageData.data;
  var div = 2 * radius + 1; // const w4 = width << 2;

  var widthMinus1 = width - 1;
  var heightMinus1 = height - 1;
  var radiusPlus1 = radius + 1;
  var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
  var stackStart = new BlurStack();
  var stack = stackStart;
  var stackEnd;

  for (var i = 1; i < div; i++) {
    stack = stack.next = new BlurStack();

    if (i === radiusPlus1) {
      stackEnd = stack;
    }
  }

  stack.next = stackStart;
  var stackIn = null,
      stackOut = null,
      yw = 0,
      yi = 0;
  var mulSum = mulTable[radius];
  var shgSum = shgTable[radius];

  for (var y = 0; y < height; y++) {
    stack = stackStart;
    var pr = pixels[yi],
        pg = pixels[yi + 1],
        pb = pixels[yi + 2],
        pa = pixels[yi + 3];

    for (var _i = 0; _i < radiusPlus1; _i++) {
      stack.r = pr;
      stack.g = pg;
      stack.b = pb;
      stack.a = pa;
      stack = stack.next;
    }

    var rInSum = 0,
        gInSum = 0,
        bInSum = 0,
        aInSum = 0,
        rOutSum = radiusPlus1 * pr,
        gOutSum = radiusPlus1 * pg,
        bOutSum = radiusPlus1 * pb,
        aOutSum = radiusPlus1 * pa,
        rSum = sumFactor * pr,
        gSum = sumFactor * pg,
        bSum = sumFactor * pb,
        aSum = sumFactor * pa;

    for (var _i2 = 1; _i2 < radiusPlus1; _i2++) {
      var p = yi + ((widthMinus1 < _i2 ? widthMinus1 : _i2) << 2);
      var r = pixels[p],
          g = pixels[p + 1],
          b = pixels[p + 2],
          a = pixels[p + 3];
      var rbs = radiusPlus1 - _i2;
      rSum += (stack.r = r) * rbs;
      gSum += (stack.g = g) * rbs;
      bSum += (stack.b = b) * rbs;
      aSum += (stack.a = a) * rbs;
      rInSum += r;
      gInSum += g;
      bInSum += b;
      aInSum += a;
      stack = stack.next;
    }

    stackIn = stackStart;
    stackOut = stackEnd;

    for (var x = 0; x < width; x++) {
      var paInitial = aSum * mulSum >> shgSum;
      pixels[yi + 3] = paInitial;

      if (paInitial !== 0) {
        var _a2 = 255 / paInitial;

        pixels[yi] = (rSum * mulSum >> shgSum) * _a2;
        pixels[yi + 1] = (gSum * mulSum >> shgSum) * _a2;
        pixels[yi + 2] = (bSum * mulSum >> shgSum) * _a2;
      } else {
        pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;
      }

      rSum -= rOutSum;
      gSum -= gOutSum;
      bSum -= bOutSum;
      aSum -= aOutSum;
      rOutSum -= stackIn.r;
      gOutSum -= stackIn.g;
      bOutSum -= stackIn.b;
      aOutSum -= stackIn.a;

      var _p = x + radius + 1;

      _p = yw + (_p < widthMinus1 ? _p : widthMinus1) << 2;
      rInSum += stackIn.r = pixels[_p];
      gInSum += stackIn.g = pixels[_p + 1];
      bInSum += stackIn.b = pixels[_p + 2];
      aInSum += stackIn.a = pixels[_p + 3];
      rSum += rInSum;
      gSum += gInSum;
      bSum += bInSum;
      aSum += aInSum;
      stackIn = stackIn.next;
      var _stackOut = stackOut,
          _r = _stackOut.r,
          _g = _stackOut.g,
          _b = _stackOut.b,
          _a = _stackOut.a;
      rOutSum += _r;
      gOutSum += _g;
      bOutSum += _b;
      aOutSum += _a;
      rInSum -= _r;
      gInSum -= _g;
      bInSum -= _b;
      aInSum -= _a;
      stackOut = stackOut.next;
      yi += 4;
    }

    yw += width;
  }

  for (var _x = 0; _x < width; _x++) {
    yi = _x << 2;

    var _pr = pixels[yi],
        _pg = pixels[yi + 1],
        _pb = pixels[yi + 2],
        _pa = pixels[yi + 3],
        _rOutSum = radiusPlus1 * _pr,
        _gOutSum = radiusPlus1 * _pg,
        _bOutSum = radiusPlus1 * _pb,
        _aOutSum = radiusPlus1 * _pa,
        _rSum = sumFactor * _pr,
        _gSum = sumFactor * _pg,
        _bSum = sumFactor * _pb,
        _aSum = sumFactor * _pa;

    stack = stackStart;

    for (var _i3 = 0; _i3 < radiusPlus1; _i3++) {
      stack.r = _pr;
      stack.g = _pg;
      stack.b = _pb;
      stack.a = _pa;
      stack = stack.next;
    }

    var yp = width;
    var _gInSum = 0,
        _bInSum = 0,
        _aInSum = 0,
        _rInSum = 0;

    for (var _i4 = 1; _i4 <= radius; _i4++) {
      yi = yp + _x << 2;

      var _rbs = radiusPlus1 - _i4;

      _rSum += (stack.r = _pr = pixels[yi]) * _rbs;
      _gSum += (stack.g = _pg = pixels[yi + 1]) * _rbs;
      _bSum += (stack.b = _pb = pixels[yi + 2]) * _rbs;
      _aSum += (stack.a = _pa = pixels[yi + 3]) * _rbs;
      _rInSum += _pr;
      _gInSum += _pg;
      _bInSum += _pb;
      _aInSum += _pa;
      stack = stack.next;

      if (_i4 < heightMinus1) {
        yp += width;
      }
    }

    yi = _x;
    stackIn = stackStart;
    stackOut = stackEnd;

    for (var _y = 0; _y < height; _y++) {
      var _p2 = yi << 2;

      pixels[_p2 + 3] = _pa = _aSum * mulSum >> shgSum;

      if (_pa > 0) {
        _pa = 255 / _pa;
        pixels[_p2] = (_rSum * mulSum >> shgSum) * _pa;
        pixels[_p2 + 1] = (_gSum * mulSum >> shgSum) * _pa;
        pixels[_p2 + 2] = (_bSum * mulSum >> shgSum) * _pa;
      } else {
        pixels[_p2] = pixels[_p2 + 1] = pixels[_p2 + 2] = 0;
      }

      _rSum -= _rOutSum;
      _gSum -= _gOutSum;
      _bSum -= _bOutSum;
      _aSum -= _aOutSum;
      _rOutSum -= stackIn.r;
      _gOutSum -= stackIn.g;
      _bOutSum -= stackIn.b;
      _aOutSum -= stackIn.a;
      _p2 = _x + ((_p2 = _y + radiusPlus1) < heightMinus1 ? _p2 : heightMinus1) * width << 2;
      _rSum += _rInSum += stackIn.r = pixels[_p2];
      _gSum += _gInSum += stackIn.g = pixels[_p2 + 1];
      _bSum += _bInSum += stackIn.b = pixels[_p2 + 2];
      _aSum += _aInSum += stackIn.a = pixels[_p2 + 3];
      stackIn = stackIn.next;
      _rOutSum += _pr = stackOut.r;
      _gOutSum += _pg = stackOut.g;
      _bOutSum += _pb = stackOut.b;
      _aOutSum += _pa = stackOut.a;
      _rInSum -= _pr;
      _gInSum -= _pg;
      _bInSum -= _pb;
      _aInSum -= _pa;
      stackOut = stackOut.next;
      yi += width;
    }
  }

  return imageData;
}
/**
 * @param {HTMLCanvasElement} canvas
 * @param {Integer} topX
 * @param {Integer} topY
 * @param {Integer} width
 * @param {Integer} height
 * @param {Float} radius
 * @returns {undefined}
 */


function processCanvasRGB(canvas, topX, topY, width, height, radius) {
  if (isNaN(radius) || radius < 1) {
    return;
  }

  radius |= 0;
  var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
  imageData = processImageDataRGB(imageData, topX, topY, width, height, radius);
  canvas.getContext('2d').putImageData(imageData, topX, topY);
}
/**
 * @param {ImageData} imageData
 * @param {Integer} topX
 * @param {Integer} topY
 * @param {Integer} width
 * @param {Integer} height
 * @param {Float} radius
 * @returns {ImageData}
 */


function processImageDataRGB(imageData, topX, topY, width, height, radius) {
  var pixels = imageData.data;
  var div = 2 * radius + 1; // const w4 = width << 2;

  var widthMinus1 = width - 1;
  var heightMinus1 = height - 1;
  var radiusPlus1 = radius + 1;
  var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
  var stackStart = new BlurStack();
  var stack = stackStart;
  var stackEnd;

  for (var i = 1; i < div; i++) {
    stack = stack.next = new BlurStack();

    if (i === radiusPlus1) {
      stackEnd = stack;
    }
  }

  stack.next = stackStart;
  var stackIn = null;
  var stackOut = null;
  var mulSum = mulTable[radius];
  var shgSum = shgTable[radius];
  var p, rbs;
  var yw = 0,
      yi = 0;

  for (var y = 0; y < height; y++) {
    var pr = pixels[yi],
        pg = pixels[yi + 1],
        pb = pixels[yi + 2],
        rOutSum = radiusPlus1 * pr,
        gOutSum = radiusPlus1 * pg,
        bOutSum = radiusPlus1 * pb,
        rSum = sumFactor * pr,
        gSum = sumFactor * pg,
        bSum = sumFactor * pb;
    stack = stackStart;

    for (var _i5 = 0; _i5 < radiusPlus1; _i5++) {
      stack.r = pr;
      stack.g = pg;
      stack.b = pb;
      stack = stack.next;
    }

    var rInSum = 0,
        gInSum = 0,
        bInSum = 0;

    for (var _i6 = 1; _i6 < radiusPlus1; _i6++) {
      p = yi + ((widthMinus1 < _i6 ? widthMinus1 : _i6) << 2);
      rSum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - _i6);
      gSum += (stack.g = pg = pixels[p + 1]) * rbs;
      bSum += (stack.b = pb = pixels[p + 2]) * rbs;
      rInSum += pr;
      gInSum += pg;
      bInSum += pb;
      stack = stack.next;
    }

    stackIn = stackStart;
    stackOut = stackEnd;

    for (var x = 0; x < width; x++) {
      pixels[yi] = rSum * mulSum >> shgSum;
      pixels[yi + 1] = gSum * mulSum >> shgSum;
      pixels[yi + 2] = bSum * mulSum >> shgSum;
      rSum -= rOutSum;
      gSum -= gOutSum;
      bSum -= bOutSum;
      rOutSum -= stackIn.r;
      gOutSum -= stackIn.g;
      bOutSum -= stackIn.b;
      p = yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1) << 2;
      rInSum += stackIn.r = pixels[p];
      gInSum += stackIn.g = pixels[p + 1];
      bInSum += stackIn.b = pixels[p + 2];
      rSum += rInSum;
      gSum += gInSum;
      bSum += bInSum;
      stackIn = stackIn.next;
      rOutSum += pr = stackOut.r;
      gOutSum += pg = stackOut.g;
      bOutSum += pb = stackOut.b;
      rInSum -= pr;
      gInSum -= pg;
      bInSum -= pb;
      stackOut = stackOut.next;
      yi += 4;
    }

    yw += width;
  }

  for (var _x2 = 0; _x2 < width; _x2++) {
    yi = _x2 << 2;

    var _pr2 = pixels[yi],
        _pg2 = pixels[yi + 1],
        _pb2 = pixels[yi + 2],
        _rOutSum2 = radiusPlus1 * _pr2,
        _gOutSum2 = radiusPlus1 * _pg2,
        _bOutSum2 = radiusPlus1 * _pb2,
        _rSum2 = sumFactor * _pr2,
        _gSum2 = sumFactor * _pg2,
        _bSum2 = sumFactor * _pb2;

    stack = stackStart;

    for (var _i7 = 0; _i7 < radiusPlus1; _i7++) {
      stack.r = _pr2;
      stack.g = _pg2;
      stack.b = _pb2;
      stack = stack.next;
    }

    var _rInSum2 = 0,
        _gInSum2 = 0,
        _bInSum2 = 0;

    for (var _i8 = 1, yp = width; _i8 <= radius; _i8++) {
      yi = yp + _x2 << 2;
      _rSum2 += (stack.r = _pr2 = pixels[yi]) * (rbs = radiusPlus1 - _i8);
      _gSum2 += (stack.g = _pg2 = pixels[yi + 1]) * rbs;
      _bSum2 += (stack.b = _pb2 = pixels[yi + 2]) * rbs;
      _rInSum2 += _pr2;
      _gInSum2 += _pg2;
      _bInSum2 += _pb2;
      stack = stack.next;

      if (_i8 < heightMinus1) {
        yp += width;
      }
    }

    yi = _x2;
    stackIn = stackStart;
    stackOut = stackEnd;

    for (var _y2 = 0; _y2 < height; _y2++) {
      p = yi << 2;
      pixels[p] = _rSum2 * mulSum >> shgSum;
      pixels[p + 1] = _gSum2 * mulSum >> shgSum;
      pixels[p + 2] = _bSum2 * mulSum >> shgSum;
      _rSum2 -= _rOutSum2;
      _gSum2 -= _gOutSum2;
      _bSum2 -= _bOutSum2;
      _rOutSum2 -= stackIn.r;
      _gOutSum2 -= stackIn.g;
      _bOutSum2 -= stackIn.b;
      p = _x2 + ((p = _y2 + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width << 2;
      _rSum2 += _rInSum2 += stackIn.r = pixels[p];
      _gSum2 += _gInSum2 += stackIn.g = pixels[p + 1];
      _bSum2 += _bInSum2 += stackIn.b = pixels[p + 2];
      stackIn = stackIn.next;
      _rOutSum2 += _pr2 = stackOut.r;
      _gOutSum2 += _pg2 = stackOut.g;
      _bOutSum2 += _pb2 = stackOut.b;
      _rInSum2 -= _pr2;
      _gInSum2 -= _pg2;
      _bInSum2 -= _pb2;
      stackOut = stackOut.next;
      yi += width;
    }
  }

  return imageData;
}
/**
 *
 */


var BlurStack =
/**
 * Set properties.
 */
function BlurStack() {
  _classCallCheck(this, BlurStack);

  this.r = 0;
  this.g = 0;
  this.b = 0;
  this.a = 0;
  this.next = null;
};



/*# sourceMappingURL=main.css.map*/