.kit_calendar_holder.absolute_calendar{ position: absolute; z-index: 110; }
.kit_calendar_holder.absolute_calendar.popup_calendar{ z-index: 105; }

.calendar_wrapper .calendar{ width: 275px; border-radius: 3px; background: #fff; border: 1px solid #dcdcdc; padding: 18px 12px; }
.kit_calendar_holder .calendar{ border-radius: 0 3px 3px 3px; box-shadow: 2px 3px 29px 0px rgba(0, 0, 0, 0.3); }
.calendar_wrapper .calendar .topline{ display: flex; align-items: center; font-size: 20px; justify-content: space-between; margin-bottom: 16px; /*direction: ltr;*/ }
.calendar_wrapper .calendar .topline .curr_month{ display: flex; align-items: center; }
.calendar_wrapper .calendar .topline .curr_year{ text-align: right; display: flex; align-items: center; justify-content: flex-end; }
.calendar_wrapper .calendar .topline .arrow_left{ display: block; height: 0; width: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 8px solid #ccc; margin-left: 5px; cursor: pointer; }
.calendar_wrapper .calendar .topline .arrow_left.disabled{ visibility: hidden; }
.calendar_wrapper .calendar .topline .arrow_right{ display: block; height: 0; width: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-right: 8px solid #ccc; margin-right: 5px; cursor: pointer; }
.calendar_wrapper .calendar .topline .arrow_right.disabled{ visibility: hidden; }
.calendar_wrapper.skip_controls .calendar .topline .arrow_left,.calendar_wrapper.skip_controls .calendar .topline .arrow_right{ visibility: hidden; }
.calendar_wrapper .calendar .dates{ display: flex; flex-direction: column-reverse; }
.calendar_wrapper .calendar .stripe{ display: flex; align-items: center; font-size: 12px; }
.calendar_wrapper .calendar .dates .cal_line{ display: flex; align-items: center; margin-bottom: 5px; }
.calendar_wrapper .calendar .item{ width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; margin-right: 6px; border: 1px solid #c1c1c1; border-radius: 3px; position: relative; }
.calendar_wrapper .calendar .item:not(.empty_day){ cursor: pointer; }
.calendar_wrapper .calendar .item.curr_day{ color: #fff; background: #174750; border-color: transparent; }
.calendar_wrapper .calendar .item:last-child{ margin-right: 0; }
.calendar_wrapper .calendar .stripe .item{ border-color: transparent; cursor: auto; }
.calendar_wrapper .calendar .item.empty_day{ color: #ccc; background: #fff; border: 1px solid #c1c1c1; }
.calendar_wrapper .calendar .item span{ position: relative; z-index: 5; }
.calendar_wrapper .calendar .item.special_day{ color: #fff; border-color: transparent; font-size: 14px; align-items: flex-start; background: #174750; }
.calendar_wrapper .calendar .item.selected{ color: #fff; border-color: transparent; background: #174750; }
.calendar_wrapper .calendar .item.special_day2{ color: #fff; border-color: transparent; background: #174750; }

.car_calendar{ position: relative; }
.car_calendar::before{ content: ""; display: none; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.7); z-index: 9; }
.car_calendar.loading::before{ display: block; }

#calendar_fromto{ position: absolute; z-index: 99; border: 1px solid #ccc; border-radius: 0 3px 3px 3px; background: #fff; padding: 20px 15px; width: 560px; justify-content: space-between; display: none; }
#calendar_fromto.active{ display: flex; }
#calendar_fromto.calendar_wrapper .calendar{ padding: 0; border: 0; border-radius: 0; width: 245px; }

#calendar_fromto.calendar_wrapper > .cal_line{ content: ""; display: none; position: absolute; height: 2px; top: -2px; left: 0; background: #fff; }
#calendar_fromto.calendar_wrapper.active > .cal_line{ display: block; }

@media (max-width:700px){
	#calendar_fromto{ flex-direction: column; width: 275px; }
	#calendar_fromto.calendar_wrapper .calendar{ margin-bottom: 20px; }
	#calendar_fromto.calendar_wrapper .calendar:last-child{ margin-bottom: 0; }
}