* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.date-picker-wrapper {
	position: absolute;
	z-index: 1;
	border: 1px solid #bfbfbf;
	background-color: #efefef;
	padding: 5px 12px;
	font-size: 12px;
	line-height: 20px;
	color: #aaa;
	font-family: Arial, sans-serif;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
}

.date-picker-wrapper {
	&.inline-wrapper {
		position: relative;
		box-shadow: none;
		display: inline-block;
	}
	&.single-date {
		width: auto;
	}
	&.no-shortcuts {
		padding-bottom: 12px;
	}
	&.no-topbar {
		padding-top: 12px;
	}
	.calendar-footer {
		font-size: 11px;
		padding-top: 3px;
	}
	b {
		color: #666;
		font-weight: 700;
	}
	a {
		color: rgb(107, 180, 214);
		text-decoration: underline;
	}
	.month-name {
		text-transform: uppercase;
	}
	.select-wrapper {
		position: relative;
		overflow: hidden;
		display: inline-block;
		vertical-align: middle;
		&:hover {
			text-decoration: underline;
		}
	}
	.month-element {
		display: inline-block;
		vertical-align: middle;
	}
	.select-wrapper select {
		position: absolute;
		margin: 0;
		padding: 0;
		left: 0;
		top: -1px;
		font-size: inherit;
		font-style: inherit;
		font-weight: inherit;
		text-transform: inherit;
		color: inherit;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		outline: 0;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
		filter: alpha(opacity=1);
		opacity: 0.01;
	}
	.month-wrapper {
		width: 100%;
		display: flex;
		justify-content: space-between;
		border: 1px solid #bfbfbf;
		border-radius: 4px;
		background-color: #fff;
		cursor: default;
		position: relative;
		_overflow: hidden;
	}
	.month {
		&-head {
			padding: 5px;
			border-bottom: 1px solid #bfbfbf;
			color: #333;
		}
		&-caption {
			height: 30px;
			display: flex;
			justify-content: space-between;
			align-items: center;
			.next,
			.prev {
				padding: 0 5px;
				cursor: pointer;
				opacity: 1;
				&.is-disabled {
					opacity: 0.5;
				}
			}
		}
		&-arrow {
			width: 27px;
		}
		&-gap {
			width: 2px;
			background: #999;
		}
		.week-name {
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			&__item {
				width: 30px;
				flex-shrink: 0;
				text-transform: uppercase;
				text-align: center;
				font-weight: bold;
			}
		}
	}
	.days-container {
		padding: 5px;
	}
	.days-row {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.day {
		cursor: default;
		width: 30px;
		flex-shrink: 0;
		&.is-lastMonth,
		&.is-nextMonth {
			pointer-events: none;
			cursor: default;
		}
		.day-text {
			padding: 5px 0;
			width: 100%;
			line-height: 1;
			font-size: 12px;
			color: #ccc;
			text-align: center;
			&.lastMonth, &.nextMonth {
				background: #fff !important;
				color: #999 !important;
			}
			&.checked {
				background-color: rgb(156, 219, 247);
			}
			&.has-tooltip {
				cursor: help !important;
				.tooltip {
					white-space: nowrap;
				}
			}
			&.toMonth {
				&.valid {
					cursor: pointer;
					color: #333;
				}
				&.hovering {
					background-color: #cdecfa;
				}
				&.first-date-selected,
				&.last-date-selected {
					background-color: rgb(68, 153, 238);
					color: white;
				}
			}
			&.real-today {
				background-color: rgb(255, 230, 132);

				&.checked, &.hovering {
					background-color: rgb(112, 204, 213);
				}
			}
		}
	}
	.selected-days {
		display: none;
	}
	.drp_top-bar {
		line-height: 1.4;
		position: relative;
		padding: 10px 40px 10px 0;
		.error-top, .normal-top {
			display: none;
		}
		.default-top {
			display: block;
		}
		&.error {
			.default-top {
				display: none;
			}
			.error-top {
				display: block;
				color: red;
			}
		}
		&.normal {
			.default-top {
				display: none;
			}
			.normal-top {
				display: block;
				.selection-top {
					color: #333;
				}
			}
		}
		.apply-btn {
			position: absolute;
			right: 0px;
			top: 6px;
			padding: 3px 5px;
			margin: 0;
			font-size: 12px;
			border-radius: 4px;
			cursor: pointer;
			border: solid 1px #0076a3;
			background: #0095cd;
			background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
			background: -moz-linear-gradient(top, #00adee, #0078a5);
			filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
			color: #fff;
			line-height: initial;
			&.disabled {
				cursor: pointer;
				color: #606060;
				border: solid 1px #b7b7b7;
				background: #fff;
				background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
				background: -moz-linear-gradient(top, #fff, #ededed);
				filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
			}
		}
	}
	.date-range-length-tip {
		position: absolute;
		margin-top: -4px;
		margin-left: -8px;
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
		display: none;
		background-color: yellow;
		padding: 0 6px;
		border-radius: 2px;
		font-size: 12px;
		line-height: 16px;
		filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.3));
		&:after {
			content: '';
			position: absolute;
			border-left: 4px solid transparent;
			border-right: 4px solid transparent;
			border-top: 4px solid yellow;
			left: 50%;
			margin-left: -4px;
			bottom: -4px;
		}
	}
	&.two-months.no-gap {
		.month1 .next, .month2 .prev {
			display: none;
		}
		.month-gap {
			width: 1px;
		}
	}
	.week-number {
		padding: 5px 0;
		line-height: 1;
		font-size: 12px;
		margin-bottom: 1px;
		color: #999;
		cursor: pointer;
		&.week-number-selected {
			color: #49e;
			font-weight: bold;
		}
	}
}

/*time styling*/
.date-picker-wrapper {
	&.single-month .time {
		display: block;
	}

	.time {
		position: relative;
		display: flex;
		justify-content: space-between;
		label {
			white-space: nowrap;
		}
		input[type=range] {
			vertical-align: middle;
			width: 129px;
			padding: 0;
			margin: 0;
			height: 20px;
		}
	}
	.time1,
	.time2 {
		width: 50%;
		padding: 0 5px;
	}

	.hide {
		display: none;
	}
}