.date_input {
  display: inline-block;
  text-align: left;
}

.date_input .selector {
  display: inline-block;
  border: 1px solid black;
  padding: 10px;
  /*margin-top: 10px;*/
  position: relative;
  width: 220px;
  text-align: center;
}

.date_input .selector:focus {
  outline: 1px solid black;
}

.date_input.error .selector {
  outline: 1px solid red;
}

.date_input .selector:after {
  content: '\25BD';
  padding-left: 5px;
  position: absolute;
  right: 10px;
}

.date_input .selector:hover:after {
  content: '\25BC';
}

.date_input.placeholder .selector {
  text-align: center;
}

.date_input.placeholder .selector .selection {
  color: gray;
}

.date_input .selector .list {
  --padding-item: 10px;
  visibility: hidden;
  position: absolute;
  top: 39px;
  left: -1px;
  display: block;
  border: 1px solid black;
  width: 100%;
  z-index:9999999999999999;
  background-color: white;
  text-align: center;
  /*max-height: 25vh;*/
  overflow: auto;
}


.date_input.show .selector .list {
  visibility: visible;
}
.date_input .selector .list .header {
  display: block;
  text-align: center;
  padding: 5px;
}

.date_input .selector .list .header .previous,
.date_input .selector .list .header .next {
  cursor: pointer;
  position: absolute;
  top: -2px;
}

.date_input .selector .list .header .previous {
  left: 5px;
}

.date_input .selector .list .header .next {
  right: 5px;
  top: -14px; /*7*/
}

.date_input .selector .list .header .previous.hide {
  display:none;
}

.date_input .selector .list .header .next.hide {
  display:none;
}

.date_input .selector .list .header .next:before,
.date_input .selector .list .header .previous:before {
  content: '\25B7';
  font-size: 25px;
  display: inline-block;
}

.date_input .selector .list .header .previous:before {
  content: '\25C1';
}


.date_input .selector .list .header .next:hover:before {
  content: '\25B6';
}


.date_input .selector .list .header .previous:hover:before {
  content: '\25C0';
}

.date_input .selector .list .header .previous:before {
  /*transform: rotate(90deg);*/
}


.date_input .selector .list .header .next:before {
  /*transform: rotate(-90deg);*/
}

.date_input .selector .list .header .month {
  /* cursor: pointer; */
}

.date_input .selector .list .header .month:hover {
  /* color: silver; */
}


.date_input .selector .list .dates {
  display: inline-block;
  width: 95%;
  text-align: left;
}

.date_input .selector .list .dates .date {
  display: inline-block;
  width: 20px;
  padding: 8px;
  padding-left: 6px;
  padding-right: 6px;
  border-radius: 25px;
  text-align: center;
}

.date_input .selector .list .dates .date:not(.disabled):not(.dayname) {
  cursor: pointer;
}

.date_input .selector .list .dates .date:not(.disabled):not(.dayname):hover,
.date_input .selector .list .dates .date:not(.disabled):not(.dayname).selected {
  background-color: orange;
}


.date_input[data-seldate],
.date_input[data-seldate] .selection>.day,
.date_input[data-seldate] .selection>.month,
.date_input[data-seldate] .selection>.year {
    background: #F5F5F5;
}

.date_input .selector .list .dates .date.disabled {
  color: gray;
}

.date_input .selector .list .dates .date.dayname {
  font-weight: 900;
}

.date_input .selection .flat {
  border: none;
  -moz-appearance: textfield;
  width: 1.1em;
}

.date_input .selection .flat.red {
  outline: 1px solid red;
}

.date_input .selection .flat.year {
  width: 2.2em;
}

.date_input .selection .flat::-webkit-outer-spin-button,
.date_input .selection .flat::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.remove_date {
  position: absolute;
  left: 10px;
  cursor: pointer;
}

.remove_date:before {
  content: '\26CC';
}

.remove_date:not(.show) {
  display: none;
}