.date-picker,
.date-picker * {
	box-sizing: border-box;
}

.date-picker {
	z-index: 10000;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.4);
	display: none;
}

.date-picker-content {
	display: table-row;
	background-color: #ffffff;
	box-shadow: 0 8px 16px var(--alternate-for-shadow-and-borders);
	position: fixed;
}

.date-picker .selection {
	display: table-cell;
	background-color: #2196F3;
	min-width: 150px;
	/*min-height: 300px;*/
	color: #ffffff;
	padding: 16px;
	vertical-align: top;
}

.date-picker .selection .year {
	color: #eeeeee;
}

.date-picker .selection .day-of-week,
.date-picker .selection .month-day {
	font-size: 2em;
	font-weight: 600;
}

.date-picker .calendar {
	display: table-cell;
	background-color: #ffffff;
	padding: 16px;
	vertical-align: top;
}

.date-picker .calendar .month-banner {
	position: relative;
	height: 32px;
}

.date-picker .calendar .month-banner .prev-month,
.date-picker .calendar .month-banner .next-month,
.date-picker .calendar .month-banner .current-month {
	display: inline-block;
	position: absolute;
}

.date-picker .calendar .month-banner .prev-month,
.date-picker .calendar .month-banner .next-month {
	z-index: 1;
	cursor: pointer;
}

.date-picker .calendar .month-banner .prev-month {
	left: 0;
}

.date-picker .calendar .month-banner .next-month {
	right: 0;
}

.date-picker .calendar .month-banner .current-month {
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	top: 2px;
	font-weight: 500;
}

.date-picker .calendar .week-banner {
	color: var(--alternate-for-shadow-and-borders);
	/*display: table;*/
	width: 100%;
	font-size: 12px;
}

.date-picker .calendar .week-banner .day-of-week {
	display: table-cell;
	text-align: center;
	padding: 6px;
	width: 40px;
	height: 28px;
}

.date-picker .calendar .days {
	/*display: table;*/
	color: #000;
	width: 100%;
	font-size: 12px;
}

.date-picker .calendar .days .week {
	/*display: table-row;*/
}

.date-picker .calendar .days .week .day-placeholder,
.date-picker .calendar .days .week .day {
	display: table-cell;
	text-align: center;
	padding: 12px;
	position: relative;
	z-index: 1;
	width: 40px;
	border-radius: 50%;
}

.date-picker .calendar .days .week .day {
	cursor: pointer;
}

.date-picker .calendar .days .week .day.selected {
	color: #ffffff;
}

.date-picker .calendar .days .week .day:hover::before,
.date-picker .calendar .days .week .day.selected::before,
.date-picker .calendar .days .week .day.today::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 32px;
	height: 32px;
	background-color: #2196F3;
	border-radius: 50%;
	z-index: -1;
}

.date-picker .calendar .days .week .day.today:hover::before,
.date-picker .calendar .days .week .day:hover::before {
	background-color: #e0e0e0;
}

.date-picker .calendar .days .week .day.today::before {
	background-color: transparent;
	border: 1px solid #2196F3;
}

.date-picker .calendar .days .week .day.selected:hover::before,
.date-picker .calendar .days .week .day.selected.today::before {
	background-color: #2196F3;
	border: none;
}

.date-picker .calendar .actions {
	float: right;
}