.xdsoft_datetimepicker {
	position: absolute;
	z-index: 9999;

	.xdsoft_next,
	.xdsoft_prev,
	.xdsoft_today_button {
		background: transparent;
		border: 0 none transparent;
		cursor: pointer;
	}

	.xdsoft_prev {
		float: left;
	}

	.xdsoft_next {
		float: right;
	}

	.xdsoft_datepicker,
	.xdsoft_timepicker {
		display: none;

		&.active {
			display: flex;
		}
	}

	.xdsoft_datepicker {
		background: #FFFFFF;
		box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.25);
		padding: 0.8em;
	}

	.xdsoft_calendar {
		margin-top: 1em;

		table {
			border-collapse: collapse;
			width: 100%;

			th {
				background: transparent;
				border: 0 none transparent;
				color: #666666;
				font-size: 12px;
				font-weight: 700;
				line-height: 2.3em;
				text-align: center;
				vertical-align: middle;
				padding: 0;
				cursor: default;
			}

			td {
				padding: 0;
				border-collapse: collapse;
				text-align: center;
				cursor: pointer;

				div {
					display: inline-block;
					height: 2.3rem;
					width: 2.3rem;
					margin: .1em;
					border-radius: 50%;
					line-height: 2.3em;
				}

				&.xdsoft_today div {
					border-width: 1px;
					border-style: solid;
					border-color: var(--usoft-datetimepicker-today-bg);
				}

				&.xdsoft_current div {
					background: var(--usoft-datetimepicker-current-bg) !important;
					color: var(--usoft-datetimepicker-current-color) !important;
					font-weight: 700;
				}

				&.xdsoft_other_month {
					opacity: 0.5;

					&.xdsoft_disabled {
						opacity: 0.2;
					}
				}

				&.xdsoft_disabled {
					opacity: 0.5;
					cursor: default;
				}

				&:not(.xdsoft_disabled):hover div {
					color: var(--usoft-datetimepicker-td-hover-color);
					background: var(--usoft-datetimepicker-td-hover-bg);
				}
			}
		}
	}

	.xdsoft_timepicker {
		width: 4em;
		flex-direction: column;
		margin-left: 8px;

		.xdsoft_prev:after {
			transform: rotate(0deg);
		}

		.xdsoft_time_box {
			flex-grow: 1;
			height: 151px;
			overflow-y: scroll;
			border: 1px solid #ccc;

			&>div>div {
				background: #F5F5F5;
				border-top: 1px solid #DDDDDD;
				color: #666666;
				font-size: 12px;
				text-align: center;
				border-collapse: collapse;
				cursor: pointer;
				border-bottom-width: 0;
				line-height: 25px;

				&:first-child {
					border-top-width: 0;
				}

				&:not(.xdsoft_disabled):hover {
					color: var(--usoft-datetimepicker-td-hover-color);
					background: var(--usoft-datetimepicker-td-hover-bg);
				}

				&.xdsoft_current {
					background: var(--usoft-datetimepicker-current-bg) !important;
					color: var(--usoft-datetimepicker-current-color) !important;
					font-weight: 700;
				}

				&.xdsoft_disabled {
					opacity: 0.5;
					cursor: default;
				}
			}
		}

		.xdsoft_next:after {
			transform: rotate(180deg);
		}
	}
}

.xdsoft_noselect {
	user-select: none;
}

.xdsoft_noselect::selection {
	background: transparent;
}

.xdsoft_noselect::-moz-selection {
	background: transparent;
}

.xdsoft_datetimepicker.xdsoft_inline {
	display: inline-block;
	position: static;
	box-shadow: none;
}

.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
	width: 256px;
}

.xdsoft_month::after,
.xdsoft_year::after {
	display: inline-block;
	content: "\f282";
	font-family: bootstrap-icons !important;
	vertical-align: -.25em;
	width: 1rem;
	height: 1rem;
	margin-left: .3em;
}

.xdsoft_datetimepicker .xdsoft_label {
	display: inline;
	position: relative;
	z-index: 100;
	padding: 5px 3px;
	font-weight: bold;
	vertical-align: text-bottom;
	background-color: #fff;
	cursor: pointer;

	&:hover>span {
		text-decoration: underline;
	}

	&>.xdsoft_select {
		position: absolute;
		right: 0;
		top: 30px;
		z-index: 101;
		display: none;
		max-height: 160px;
		border: 1px solid #ccc;
		background: #fff;
		overflow-y: scroll;
		font-weight: normal;

		&.xdsoft_monthselect {
			right: -7px;
		}

		&.xdsoft_yearselect {
			right: 2px;
		}

		&>div>.xdsoft_option {
			padding: 2px 10px 2px 5px;
			text-decoration: none !important;
		}
	}
}

.xdsoft_option {
	padding: .1rem .5rem;

	&.xdsoft_current {
		background: var(--usoft-datetimepicker-option-current-bg);
		color: var(--usoft-datetimepicker-option-current-color);
		font-weight: 700;
	}

	&:hover {
		background: var(--usoft-datetimepicker-option-hover-bg);
		color: var(--usoft-datetimepicker-option-hover-color);
	}
}

.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
	width: 12.5%;
}

.xdsoft_datetimepicker.xdsoft_dark {
	box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
	background: #000000;
	border-bottom: 1px solid #444444;
	border-left: 1px solid #333333;
	border-right: 1px solid #333333;
	border-top: 1px solid #333333;
	color: #cccccc;

	.xdsoft_timepicker .xdsoft_time_box {
		border: 1px solid #333;
		border-bottom: 1px solid #222222;

		&>div>div {
			background: #0a0a0a;
			border-top: 1px solid #222222;
			color: #999999;
		}
	}

	.xdsoft_label {
		background-color: #000;

		&>.xdsoft_select {
			border: 1px solid #333;
			background: #000;

			&>div>.xdsoft_option:hover {
				color: #fff;
				background: var(--usoft-datetimepicker-option-hover-bg);
			}

			&>div>.xdsoft_option.xdsoft_current {
				background: var(--usoft-datetimepicker-option-current-bg);
				box-shadow: var(--usoft-datetimepicker-option-current-bg) 0 1px 3px 0 inset;
				color: #fff;
			}
		}
	}

	.xdsoft_calendar td.xdsoft_current,
	.xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current {
		background: #DD052B;
		box-shadow: #DD052B 0 1px 3px 0 inset;
		color: #fff;
	}

	.xdsoft_calendar td:hover,
	.xdsoft_timepicker .xdsoft_time_box>div>div:hover {
		color: #fff !important;
		background: #DD052B !important;
	}

	.xdsoft_calendar {

		td,
		th {
			background: #0a0a0a;
			border: 1px solid #222222;
			color: #999999;
		}

		th {
			background: #0e0e0e;
			color: #666;
		}

		td.xdsoft_today {
			color: #DD052B;
		}
	}
}