.prefixClass {
  box-sizing: border-box; }
  .prefixClass * {
    box-sizing: border-box; }

.dh-calendar {
  position: relative;
  outline: none;
  width: 253px;
  border: 1px solid #fff;
  list-style: none;
  font-size: 12px;
  text-align: left;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
  line-height: 1.5;
  /*time panel*/
  /*input-wrap  start*/
  /*input-wrap  end*/
  /*date-panel start*/
  /*date-panel end*/
  /*time panel*/
  /*calendar header start*/
  /*calendar header end*/
  /*calendar body start*/ }
  .dh-calendar-input {
    border: 0;
    width: 100%;
    cursor: auto;
    outline: 0;
    height: 22px;
    color: rgba(0, 0, 0, 0.65);
    background: #fff; }
  .dh-calendar-input-wrap-disabled .dh-calendar-input-wrap {
    display: none; }
  .dh-calendar-input-wrap {
    height: 34px;
    padding: 6px;
    border-bottom: 1px solid #e9e9e9; }
  .dh-calendar-clear-btn {
    display: none;
    position: absolute;
    right: 5px;
    text-indent: -76px;
    overflow: hidden;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    top: 7px;
    margin: 0; }
  .dh-calendar-date-panel {
    overflow: hidden;
    position: relative; }
  .dh-calendar-next-month-btn-day .dh-calendar-date, .dh-calendar-last-month-cell .dh-calendar-date {
    color: rgba(0, 0, 0, 0.25); }
  .dh-calendar-header {
    height: 34px;
    line-height: 34px;
    text-align: center;
    user-select: none;
    border-bottom: 1px solid #e9e9e9; }
    .dh-calendar-header .dh-calendar-month-select,
    .dh-calendar-header .dh-calendar-year-select {
      padding: 0 2px;
      font-weight: 700;
      display: inline-block;
      color: rgba(0, 0, 0, 0.65);
      line-height: 34px; }
    .dh-calendar-header .dh-calendar-prev-year-btn {
      left: 7px; }
      .dh-calendar-header .dh-calendar-prev-year-btn:after {
        content: "\e613"; }
    .dh-calendar-header .dh-calendar-next-year-btn {
      right: 7px; }
      .dh-calendar-header .dh-calendar-next-year-btn:after {
        content: "\e614"; }
    .dh-calendar-header .dh-calendar-prev-month-btn {
      left: 29px; }
      .dh-calendar-header .dh-calendar-prev-month-btn:after {
        content: "\e640"; }
    .dh-calendar-header .dh-calendar-next-month-btn {
      right: 29px; }
      .dh-calendar-header .dh-calendar-next-month-btn:after {
        content: "\e621"; }
    .dh-calendar-header .dh-calendar-prev-year-btn, .dh-calendar-header .dh-calendar-next-year-btn,
    .dh-calendar-header .dh-calendar-prev-month-btn, .dh-calendar-header .dh-calendar-next-month-btn {
      position: absolute;
      top: 0;
      color: rgba(0, 0, 0, 0.43);
      font-family: dhfont;
      padding: 0 5px;
      font-size: 16px;
      display: inline-block;
      line-height: 34px;
      font-size: 12px; }
  .dh-calendar table {
    border-collapse: collapse;
    max-width: 100%;
    background-color: transparent;
    width: 100%; }
  .dh-calendar-body {
    padding: 4px 8px; }
    .dh-calendar-body table, .dh-calendar-body td, .dh-calendar-body td {
      border: 0; }
    .dh-calendar-body table {
      border-collapse: collapse;
      max-width: 100%;
      background-color: transparent;
      width: 100%; }
  .dh-calendar-column-header {
    line-height: 18px;
    width: 33px;
    padding: 6px 0;
    text-align: center; }
    .dh-calendar-column-header-inner {
      display: block;
      font-weight: 40px; }
  .dh-calendar-cell {
    padding: 4px 0; }
  .dh-calendar-date {
    display: block;
    margin: 0 auto;
    color: rgba(0, 0, 0, 0.65);
    border-radius: 2px;
    width: 20px;
    height: 20px;
    line-height: 18px;
    border: 1px solid transparent;
    padding: 0;
    background: transparent;
    text-align: center;
    transition: background .3s ea; }
    .dh-calendar-date:hover {
      background: #ABE4AB;
      cursor: pointer; }
  .dh-calendar-today .dh-calendar-date {
    border-color: #23c132;
    font-weight: 700;
    color: #23c132; }
  .dh-calendar-today-btn {
    display: inline-block;
    text-align: center;
    margin: 0 0 0 8px; }
  .dh-calendar-today-btn:only-child {
    margin: 0; }
  .dh-calendar-selected-date .dh-calendar-date {
    background: #23c132;
    color: #fff;
    border: 1px solid transparent; }
  .dh-calendar-footer {
    line-height: 38px;
    padding: 0 12px; }
    .dh-calendar-footer a {
      color: #23c132;
      background: transparent;
      text-decoration: none;
      outline: none;
      cursor: pointer; }
    .dh-calendar-footer-btn {
      text-align: center;
      display: block; }
    .dh-calendar-footer-extra + .dh-calendar-footer-btn {
      border-top: 1px solid #e9e9e9;
      margin: 0 -12px;
      padding: 0 12px; }
    .dh-calendar-footer-show-ok {
      border-top: 1px solid #e9e9e9; }
  .dh-calendar-time .dh-calendar-footer .dh-calendar-time-picker-btn {
    display: inline-block;
    margin-right: 8px; }
    .dh-calendar-time .dh-calendar-footer .dh-calendar-time-picker-btn-disabled {
      color: rgba(0, 0, 0, 0.25); }
  .dh-calendar-time .dh-calendar-footer-btn {
    text-align: right; }
    .dh-calendar-time .dh-calendar-footer-btn .dh-calendar-today-btn {
      float: left;
      margin: 0; }
  .dh-calendar-ok-btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: 500;
    text-align: center;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    line-height: 1.15;
    padding: 0 15px;
    height: 28px;
    user-select: none;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    position: relative;
    color: #fff;
    background-color: #23c132;
    border-color: #23c132;
    padding: 0 7px;
    font-size: 12px;
    border-radius: 4px;
    height: 22px;
    line-height: 20px; }
    .dh-calendar-ok-btn:hover {
      color: #23c132; }
    .dh-calendar-ok-btn-disabled {
      color: rgba(0, 0, 0, 0.25) !important;
      background-color: #f7f7f7;
      border-color: #d9d9d9;
      cursor: not-allowed; }
  .dh-calendar-range {
    width: 470px;
    overflow: hidden; }
    .dh-calendar-range .dh-calendar-time-picker-inner {
      padding-top: 34px;
      height: 100%;
      background: none; }
    .dh-calendar-range-part {
      width: 50%;
      position: relative; }
    .dh-calendar-range-left {
      float: left; }
      .dh-calendar-range-left .dh-calendar-time-picker-inner {
        border-right: 2px solid #e9e9e9; }
    .dh-calendar-range-right {
      float: right; }
    .dh-calendar-range-middle {
      position: absolute;
      left: 50%;
      width: 20px;
      margin-left: -12px;
      text-align: center;
      height: 34px;
      line-height: 34px;
      color: rgba(0, 0, 0, 0.43); }
    .dh-calendar-range-picker-input {
      background-color: transparent;
      border: 0;
      height: 99%;
      outline: 0;
      width: 43%;
      text-align: center;
      vertical-align: top; }
    .dh-calendar-range-picker-separator {
      color: rgba(0, 0, 0, 0.43);
      width: 8px;
      display: inline-block;
      line-height: 18px;
      vertical-align: top; }
    .dh-calendar-range .dh-calendar-in-range-cell {
      border-radius: 0;
      position: relative; }
      .dh-calendar-range .dh-calendar-in-range-cell > div {
        position: relative;
        z-index: 1; }
      .dh-calendar-range .dh-calendar-in-range-cell:before {
        content: "";
        display: block;
        background: rgba(35, 193, 50, 0.1);
        border-radius: 0;
        border: 0;
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 0;
        right: 0; }
    .dh-calendar-range-quick-selector {
      text-align: left; }
      .dh-calendar-range-quick-selector > a {
        color: #666666;
        margin-right: 8px; }
        .dh-calendar-range-quick-selector > a:hover {
          color: #19D319; }
      .dh-calendar-range-quick-selector-actived {
        color: #23c123 !important; }
  .dh-calendar-range-open {
    width: 100% !important; }

.dh-calendar-month-panel {
  position: absolute;
  top: 1px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  border-radius: 4px;
  background: #fff;
  outline: none; }
  .dh-calendar-month-panel > div {
    height: 100%; }
  .dh-calendar-month-panel-year-select-arrow {
    display: none; }
  .dh-calendar-month-panel-header {
    height: 34px;
    line-height: 34px;
    text-align: center;
    user-select: none;
    border-bottom: 1px solid #e9e9e9; }
    .dh-calendar-month-panel-header .dh-calendar-month-panel-year-select {
      padding: 0 2px;
      font-weight: 700;
      display: inline-block;
      color: rgba(0, 0, 0, 0.65);
      line-height: 34px; }
    .dh-calendar-month-panel-header .dh-calendar-month-panel-prev-year-btn,
    .dh-calendar-month-panel-header .dh-calendar-month-panel-next-year-btn {
      position: absolute;
      top: 0;
      color: rgba(0, 0, 0, 0.43);
      font-family: dhfont;
      padding: 0 5px;
      font-size: 16px;
      display: inline-block;
      line-height: 34px; }
    .dh-calendar-month-panel-header .dh-calendar-month-panel-prev-year-btn {
      left: 7px; }
      .dh-calendar-month-panel-header .dh-calendar-month-panel-prev-year-btn:after {
        content: '\e613'; }
    .dh-calendar-month-panel-header .dh-calendar-month-panel-next-year-btn {
      right: 7px; }
      .dh-calendar-month-panel-header .dh-calendar-month-panel-next-year-btn:after {
        content: '\e614'; }
  .dh-calendar-month-panel-body {
    height: calc(100% - 34px); }
  .dh-calendar-month-panel-table {
    table-layout: fixed;
    width: 100%;
    height: 100%;
    border-collapse: separate; }
  .dh-calendar-month-panel-selected-cell .dh-calendar-month-panel-month {
    background: #23c132;
    color: #ffffff !important; }
  .dh-calendar-month-panel-cell {
    text-align: center; }
    .dh-calendar-month-panel-cell-disabled .dh-calendar-month-panel-month {
      cursor: not-allowed;
      color: #bcbcbc;
      background: #f7f7f7; }
  .dh-calendar-month-panel-month {
    display: inline-block;
    margin: 0 auto;
    color: rgba(0, 0, 0, 0.65);
    background: transparent;
    text-align: center;
    height: 24px;
    line-height: 24px;
    padding: 0 6px;
    border-radius: 4px;
    transition: background .3s ease; }
    .dh-calendar-month-panel-month:hover {
      color: #23c132; }

.dh-calendar-year-panel {
  position: absolute;
  top: 1px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  border-radius: 4px;
  background: #fff;
  outline: none; }
  .dh-calendar-year-panel > div {
    height: 100%; }
  .dh-calendar-year-panel-header {
    height: 34px;
    line-height: 34px;
    text-align: center;
    user-select: none;
    border-bottom: 1px solid #e9e9e9; }
    .dh-calendar-year-panel-header .dh-calendar-year-panel-decade-select {
      padding: 0 2px;
      font-weight: 700;
      display: inline-block;
      color: rgba(0, 0, 0, 0.65);
      line-height: 34px; }
    .dh-calendar-year-panel-header .dh-calendar-year-panel-decade-select-arrow {
      display: none; }
    .dh-calendar-year-panel-header .dh-calendar-year-panel-prev-decade-btn,
    .dh-calendar-year-panel-header .dh-calendar-year-panel-next-decade-btn {
      position: absolute;
      top: 0;
      color: rgba(0, 0, 0, 0.43);
      font-family: dhfont, Arial;
      padding: 0 5px;
      font-size: 16px;
      display: inline-block;
      line-height: 34px; }
    .dh-calendar-year-panel-header .dh-calendar-year-panel-prev-decade-btn {
      left: 7px; }
      .dh-calendar-year-panel-header .dh-calendar-year-panel-prev-decade-btn:after {
        content: "\e640"; }
    .dh-calendar-year-panel-header .dh-calendar-year-panel-next-decade-btn {
      right: 7px; }
      .dh-calendar-year-panel-header .dh-calendar-year-panel-next-decade-btn:after {
        content: "\e621"; }
  .dh-calendar-year-panel-body {
    height: calc(100% - 34px); }
  .dh-calendar-year-panel-table {
    table-layout: fixed;
    width: 100%;
    height: 100%;
    border-collapse: separate; }
  .dh-calendar-year-panel-cell {
    text-align: center; }
  .dh-calendar-year-panel-year {
    display: inline-block;
    margin: 0 auto;
    color: rgba(0, 0, 0, 0.65);
    background: transparent;
    text-align: center;
    height: 24px;
    line-height: 24px;
    padding: 0 6px;
    border-radius: 4px;
    transition: background .3s ease; }
    .dh-calendar-year-panel-year:hover {
      color: #23c132; }

.dh-calendar-decade-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  background: #fff;
  border-radius: 4px;
  outline: none; }
  .dh-calendar-decade-panel-header {
    height: 34px;
    line-height: 34px;
    text-align: center;
    user-select: none;
    border-bottom: 1px solid #e9e9e9; }
    .dh-calendar-decade-panel-header .dh-calendar-decade-panel-prev-century-btn,
    .dh-calendar-decade-panel-header .dh-calendar-decade-panel-next-century-btn {
      position: absolute;
      top: 0;
      color: rgba(0, 0, 0, 0.43);
      font-family: dhfont;
      padding: 0 5px;
      font-size: 16px;
      display: inline-block;
      line-height: 34px; }
    .dh-calendar-decade-panel-header .dh-calendar-decade-panel-prev-century-btn {
      left: 7px; }
      .dh-calendar-decade-panel-header .dh-calendar-decade-panel-prev-century-btn:after {
        content: '\e640'; }
    .dh-calendar-decade-panel-header .dh-calendar-decade-panel-next-century-btn {
      right: 7px; }
      .dh-calendar-decade-panel-header .dh-calendar-decade-panel-next-century-btn:after {
        content: '\e621'; }
  .dh-calendar-decade-panel-body {
    height: calc(100% - 34px); }
  .dh-calendar-decade-panel-table {
    table-layout: fixed;
    width: 100%;
    height: 100%;
    border-collapse: separate; }
  .dh-calendar-decade-panel-cell {
    text-align: center;
    white-space: nowrap; }
  .dh-calendar-decade-panel-decade {
    display: inline-block;
    margin: 0 auto;
    color: rgba(0, 0, 0, 0.65);
    background: transparent;
    text-align: center;
    height: 24px;
    line-height: 24px;
    padding: 0 6px;
    border-radius: 4px;
    transition: background .3s ease; }
    .dh-calendar-decade-panel-decade:hover {
      color: #23c132; }

.dh-calendar-time .dh-calendar-day-select {
  padding: 0 2px;
  font-weight: 700;
  display: inline-block;
  color: rgba(0, 0, 0, 0.65);
  line-height: 34px; }

.dh-calendar-time-picker {
  position: absolute;
  width: 100%;
  top: 34px;
  background-color: #fff; }
  .dh-calendar-time-picker-btn {
    color: #23c123; }
    .dh-calendar-time-picker-btn:hover {
      color: #23c123; }
  .dh-calendar-time-picker-panel {
    z-index: 1050;
    position: absolute;
    width: 100%; }
  .dh-calendar-time-picker-inner {
    display: inline-block;
    position: relative;
    outline: none;
    list-style: none;
    font-size: 12px;
    text-align: left;
    background-color: #fff;
    background-clip: padding-box;
    line-height: 1.5;
    overflow: hidden;
    width: 100%; }
  .dh-calendar-time-picker-input-wrap {
    display: none; }
  .dh-calendar-time-picker-checkbox {
    height: 100%; }
  .dh-calendar-time-picker-column-3 .dh-calendar-time-picker-select {
    width: 33.33%; }
  .dh-calendar-time-picker-select {
    float: left;
    font-size: 12px;
    border-right: 1px solid #e9e9e9;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    height: 206px;
    width: 33.33%;
    background: #fff; }
    .dh-calendar-time-picker-select ul {
      list-style: none;
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      width: 100%;
      max-height: 206px; }
      .dh-calendar-time-picker-select ul li {
        text-align: center;
        list-style: none;
        box-sizing: content-box;
        margin: 0;
        width: 100%;
        height: 24px;
        line-height: 24px;
        cursor: pointer;
        user-select: none;
        transition: background .3s ease; }
        .dh-calendar-time-picker-select ul li:hover {
          background: rgba(35, 193, 50, 0.1); }
        .dh-calendar-time-picker-select ul li:after {
          content: "";
          height: 182px;
          display: block; }
    .dh-calendar-time-picker-select:first-child {
      border-left: 0;
      margin-left: 0; }
    .dh-calendar-time-picker-select:last-child {
      border-right: 0; }
    .dh-calendar-time-picker-select-option-selected {
      background: #f7f7f7;
      font-weight: 700; }
    .dh-calendar-time-picker-select-active {
      overflow: auto; }

.dh-calendar-picker {
  position: relative;
  display: inline-block;
  outline: none;
  font-size: 12px;
  transition: opacity .3s;
  position: relative;
  width: 100%; }
  .dh-calendar-picker:hover .dh-calendar-picker-clear {
    opacity: 1; }
  .dh-calendar-picker-clear, .dh-calendar-picker-icon {
    position: absolute;
    width: 14px;
    height: 14px;
    right: 8px;
    top: 50%;
    margin-top: -7px;
    line-height: 14px;
    font-size: 12px;
    transition: all .3s;
    user-select: none; }
  .dh-calendar-picker-clear {
    opacity: 0;
    z-index: 1;
    color: rgba(0, 0, 0, 0.25);
    background: #fff;
    cursor: pointer; }
    .dh-calendar-picker-clear:after {
      content: "\e63f";
      font-family: dhfont;
      font-size: 12px;
      color: rgba(0, 0, 0, 0.43);
      display: inline-block;
      line-height: 1; }
  .dh-calendar-picker-icon {
    color: rgba(0, 0, 0, 0.43); }
    .dh-calendar-picker-icon:after {
      content: "\e7a7";
      font-family: dhfont;
      font-size: 12px;
      color: rgba(0, 0, 0, 0.43);
      display: inline-block;
      line-height: 1; }
  .dh-calendar-picker-container {
    position: absolute;
    z-index: 1050; }
  .dh-calendar-picker-input {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 28px;
    padding: 4px 7px;
    font-size: 12px;
    background-color: #fff;
    border-radius: 4px;
    transform: all .3s;
    color: #333333;
    border: 1px solid #e6e6e6;
    line-height: 15px; }

.dh-calendar-picker-dark {
  background: transparent;
  border: none; }
  .dh-calendar-picker-dark .dh-calendar-picker-input .dh-calendar-range-picker-input {
    color: #999; }

.dh-calendar-dark {
  border: 1px solid #404040;
  background: #212127;
  color: #999999; }
  .dh-calendar-dark .dh-calendar-input-wrap {
    border-bottom: 1px solid #404040; }
  .dh-calendar-dark .dh-calendar-input {
    color: #999999;
    background: transparent; }
  .dh-calendar-dark .dh-calendar-header {
    border-bottom: 1px solid #404040; }
    .dh-calendar-dark .dh-calendar-header a {
      color: #999999; }
  .dh-calendar-dark .dh-calendar-cell .dh-calendar-date {
    color: rgba(153, 153, 153, 0.65); }
  .dh-calendar-dark .dh-calendar-cell.dh-calendar-selected-day .dh-calendar-date {
    color: #fff; }
  .dh-calendar-dark .dh-calendar-in-range-cell .dh-calendar-date {
    color: rgba(153, 153, 153, 0.65); }
  .dh-calendar-dark .dh-calendar-last-month-cell .dh-calendar-date {
    color: rgba(153, 153, 153, 0.25); }
  .dh-calendar-dark .dh-calendar-next-month-btn-day .dh-calendar-date {
    color: rgba(153, 153, 153, 0.25); }
  .dh-calendar-dark .dh-calendar-range-middle {
    color: #999999; }
  .dh-calendar-dark .dh-calendar-footer-show-ok {
    border: none; }
  .dh-calendar-dark .dh-calendar-footer-extra + .dh-calendar-footer-btn {
    border: none; }
