/**
 * DatePickerX
 *
 * Cool light visual date picker on pure JavaScript
 * Browsers support: Chrome 45+, FireFox 40+, Safari 8+, IE 11+, Edge 15+, iOS Safari, Android Google Chrome
 *
 * @author    Alexander Krupko <alex.krupko@ukr.net>
 * @copyright 2016 Alexander Krupko
 * @license   MIT
 * @version   1.1.0
 */

.date-picker-x-container {
	position: relative;
}

.date-picker-x {
	background: #444;
	box-sizing: content-box;
	color: #fff;
	display: none;
	font: 18px arial;
	padding: 10px;
	position: absolute;
	top: 100%;
	-webkit-transform: translateY(15px);
	transform: translateY(15px);
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: 350px;
	z-index: 1;
}

.date-picker-x * {
	margin: 0;
	padding: 0;
}

.date-picker-x::before {
	border-color: #444 transparent;
	border-style: solid;
	border-width: 0 10px 10px;
	bottom: 100%;
	content: "";
	left: 20px;
	position: absolute;
}

.date-picker-x.to-top {
	bottom: 100%;
	top: auto;
	-webkit-transform: translateY(-15px);
	transform: translateY(-15px);
}

.date-picker-x.to-top::before {
	border-width: 10px 10px 0;
	bottom: auto;
	top: 100%;
}

.date-picker-x.active {
	display: block;
}

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

.date-picker-x button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	font: inherit;
}

.date-picker-x button:hover,
.date-picker-x button:focus-visible {
	box-shadow: inset 0 0 0 2px #3385ff, inset 0 0 0 4px #444;
	outline: none;
}

.date-picker-x button:disabled {
	color: #666;
	cursor: default;
	box-shadow: none;
}

.date-picker-x .dpx-title-box {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 45px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-bottom: 10px;
}

.date-picker-x .dpx-prev,
.date-picker-x .dpx-next {
	color: rgba(255, 255, 255, 0.6);
	font-size: 22px;
	line-height: 50px;
	text-align: center;
	transition: .2s;
	width: 50px;
}

.date-picker-x .dpx-prev:enabled:hover,
.date-picker-x .dpx-next:enabled:hover {
	color: #fff;
}

.date-picker-x .dpx-prev:not(:focus-visible),
.date-picker-x .dpx-next:not(:focus-visible) {
	box-shadow: none !important;
}

.date-picker-x .dpx-title {
	color: inherit !important;
	font-size: 18px;
	line-height: 40px;
	padding: 0 10px;
}

.date-picker-x .dpx-title:not(:focus-visible) {
	box-shadow: none !important;
}

.date-picker-x .dpx-content-box {
	box-sizing: content-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	height: 288px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-top: 10px;
}

.date-picker-x .dpx-btns {
	border-top: 1px solid #ccc;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 10px;
}

.date-picker-x .dpx-btns .dpx-item {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 0;
	flex: 1 1 0;
	height: 30px !important;
}

.date-picker-x .dpx-item {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1 0 25%;
	flex: 1 0 25%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.date-picker-x .dpx-weekday {
	font-size: 15px;
	height: 24px !important;
}

.date-picker-x[data-dpx-type="day"] .dpx-item {
	-ms-flex-preferred-size: 44px;
	flex-basis: 44px;
	height: 44px;
}

.date-picker-x .dpx-current {
	box-shadow: inset 0 0 0 2px #66a3ff !important;
}

.date-picker-x .dpx-selected {
	background: #06f;
}

.date-picker-x .dpx-weekend {
	color: #f99;
}

.date-picker-x .dpx-out {
	color: #bbb;
}

