
#date_picker_dialog * {
    box-sizing: border-box;
}
#date_picker_dialog .picker-div {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}
#date_picker_dialog .picker-cols {
    margin: 0px;
    padding: 0px;
    border: none;
    width: 100%;
    flex: 1;
    display: flex;
    gap: 1px;
    background-color: #ddd;
}
#date_picker_dialog .monthview {
    margin: 0px;
    border: none;
    height: 100%;
    /* flex: 1; */
    display: flex;
    flex-direction: column;
}
#date_picker_dialog .calendar-header {
    background-color:#555;
    color:#fff;
    text-align:center;
}
#date_picker_dialog .calendar-header-top {
    display: flex;
    align-items: center;
    padding: 0px;
    margin: 0px;
    height: 30px;
    font-size:13px;
    line-height:13px;
}
#date_picker_dialog .calendar-header-second {
    height: 18px;
    display: flex;
    align-items: center;
}
#date_picker_dialog .cal-header-cell {
    color:#fff;
    text-align:center;
    font-size:9px;
    flex: 1;
}
#date_picker_dialog .calendar-day-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: auto;
    column-gap: 1px;
    row-gap: 1px;
    background-color: #ddd;
}
#date_picker_dialog .monthview button.cal-cell {
    color: #555;
    background-color: white;
    text-decoration: none;
    text-align: center;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size: 10px;
    line-height: 10px;
    box-shadow: none;
    height: auto;
    border-radius: 0px;
}
#date_picker_dialog .monthview button.cal-cell:active {
    height: auto;
    line-height: 10px;
}
#date_picker_dialog .monthview button.cal-cell.oth-month {
    background-color: #e7e7e7;
}
#date_picker_dialog .monthview button.cal-cell.today {
    background-color: #ffc;
}
#date_picker_dialog .monthview button.cal-cell:hover {
    background-color:#eee;
    z-index:50;
}
#date_picker_dialog .monthview button.cal-cell.selected-alt {
    background-color: hsl(var(--theme-h), var(--theme-s), 94%);
}
#date_picker_dialog .monthview button.cal-cell.selected {
    background-color: hsl(var(--theme-h), var(--theme-s), var(--theme-l));
    color:#fff;
}

#date_picker_dialog .calendar-header-top .caption {
    flex: 4;
}
#date_picker_dialog .calendar-header button.shift-btn {
    flex: 1;
    background: transparent;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:15px;
    line-height:15px;
    box-shadow: none;
    height: 24px;
    color: #ddd;
}
#date_picker_dialog .calendar-footer {
    display: flex;
    height: 38px;
    align-items: center;
    padding: 0px 8px;
    border-top: 1px solid #ddd;
}
#date_picker_dialog .calendar-footer a.today-button {
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:12px;
    line-height:12px;
    text-decoration: none;
}
#date_picker_dialog .calendar-footer .spacer {
    flex: 1;
}
#date_picker_dialog .calendar-footer button.ok-button {
    background: transparent;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:12px;
    line-height:12px;
    box-shadow: none;
    text-align: right;
    border-radius: 3px;
    background-color: #555;
    color: #fff;
    height: 20px;
    padding: 1px 8px;
}
#date_picker_dialog .timeview {
    display: flex;
    height: 100%;
    flex-direction: column;
}
#date_picker_dialog .time-cols {
    background-color: #ddd;
    width: 100%;
    display: flex;
    flex: 1 1 0;
    gap: 1px;
    min-height: 0px;
}
#date_picker_dialog .time-col {
    height: 100%;
    background-color: white;
    flex: 1;
    overflow-y: auto;
    align-items: center;
}
#date_picker_dialog button.timecell {
    color: #555;
    background-color: white;
    display: block;
    text-decoration: none;
    text-align: left;
    padding: 6px 10px 6px 12px;
    margin: 0px;
    width: 100%;
    border: none;
    font-size: 11px;
    line-height: 11px;
    box-shadow: none;
    height: auto;
    border-radius: 0;
}
#date_picker_dialog button.timecell.selected {
    background-color: hsl(var(--theme-h), var(--theme-s), var(--theme-l));
    /* background-color: #33f; */
    color: white;
}
#year_picker_dialog .year-picker {
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
}

#year_picker_dialog .year-picker button.shift-btn {
    background: transparent;
    margin: 0px;
    border: none;
    font-size:18px;
    line-height:24px;
    box-shadow: none;
    height: 24px;
    color: #333;
    cursor: pointer;
}
#year_picker_dialog button.group-prev {
    padding: 0 0 0 8px;
}
#year_picker_dialog button.group-next {
    padding: 0 8px 0 0;
}

#year_picker_dialog .year-grid {
    flex: 1;
    padding: 14px 2px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    text-align: center;
    height: 100%;
    column-gap: 8px;
    row-gap: 8px;
}
#year_picker_dialog .year-grid a {
    font-size:13px;
    line-height:13px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
#year_picker_dialog .year-grid a.today {
    background-color: #f4f4f4;
    border-radius: 3px;
}
#month_picker_dialog .month-picker {
    padding: 14px 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    text-align: center;
    height: 100%;
    box-sizing: border-box;
}
#month_picker_dialog .month-picker a {
    font-size:13px;
    line-height:13px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.date-picker-link { margin-left:16px; }

.date-picker-link-reset {
    display: inline-block;
    margin-left:4px;
    height:12px;
    width:12px;
    background:transparent url(reset.png) no-repeat scroll center bottom;
}
input[type="text"].picker-icon-clock {
    padding-right: 30px;
    background-image: url(/static/f4django/clock.png);
    background-repeat: no-repeat;
    background-position: center right 9px;
    background-size: 16px;
}
input[type="text"].picker-icon-calendar {
    padding-right: 30px;
    background-image: url(/static/f4django/calendar.png);
    background-repeat: no-repeat;
    background-position: center right 9px;
    background-size: 16px;
}
