/*
 To change the calendar size, just change the font-size on the container
 and everything magically resizes accordingly. Relative units ftw!
*/
.qs-datepicker-container {
	font-size: 1em;
	font-family: inherit;
	color: #0a1543;
	position: absolute;
	width: 22em;
	display: flex;
	flex-direction: column;
	z-index: 9001;
	user-select: none;
	border: 1px solid #0024b3;
	border-radius: 4px;
	overflow: hidden;
	background: #e9edfc;
	box-shadow: 0 2em 2em -1.5em rgba(0, 36, 179, 0.3);
}

.qs-datepicker-container * {
	box-sizing: border-box;
}

.qs-centered {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.qs-hidden {
	display: none;
}

.qs-overlay {
	display: flex;
	flex-direction: column;
	background: #e9edfc;
	color: #0a1543;
	font-weight: bold;
	width: 100%;
	height: 100%;
	z-index: 9000;
	visibility: visible;
	opacity: 1;
	transition: all 0.4s;
}

.qs-overlay:nth-child(3) {
	position: absolute;
	top: 0;
	left: 0;
}

.qs-overlay.qs-hidden {
	visibility: hidden;
	opacity: 0;
	z-index: -1;
}

.qs-overlay-year {
	border: none;
	background: #e9edfc;
	color: #0a1543;
	font-size: 1em;
	padding: 0.3em 0;
	width: 6em;
	text-align: center;
	margin: 0 auto;
}

.qs-overlay-year::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.qs-submit,
.qs-close {
	height: 100%;
	border-radius: 4px;
	padding: 0.1em 0.4em;
	margin: 0;
	color: #0a1543;
	font-size: 1.7em;
	cursor: pointer;
}

.qs-submit:hover,
  .qs-close:hover {
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-close:after {
	content: '\2716';
}

.qs-submit:after {
	content: '\2714';
}

.qs-submit.qs-disabled, .qs-submit.qs-disabled:hover {
	color: #606c9f;
	background-color: #bfc4d9;
}

.qs-overlay-month-container {
	display: flex;
	flex-wrap: wrap;
	flex: 1 0 auto;
	align-content: flex-start;
}

.qs-overlay-month {
	width: 33.3333%;
	padding: 0.8em;
	text-align: center;
	cursor: pointer;
}

.qs-overlay-month.qs-current {
	border-radius: 4px;
	background-color: #6685ff;
	color: white;
}

.qs-overlay-month:hover {
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-overlay-month:focus, .qs-overlay-month:active:focus {
	outline: none;
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-controls {
	margin: 0em 0em 0 0em;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-grow: 0;
	flex-shrink: 0;
	background: #bcc8f5;
}

.qs-arrow {
	position: relative;
	border-radius: 4px;
	line-height: 0;
	cursor: pointer;
}

.qs-arrow:after {
	display: inline-block;
	height: 2.5em;
	width: 3em;
	content: ' ';
	background-size: 5em;
	background-repeat: no-repeat;
}

.qs-arrow:hover:after {
	border-radius: 4px;
	background-color: #e08119;
}

.qs-arrow.qs-left:after {
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22180%22%20height%3D%2250%22%3E%3Cpath%20fill%3D%22%2336486b%22%20d%3D%22M70%2050V0L39%2025z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M140%2050V0l-31%2025z%22%2F%3E%3C%2Fsvg%3E");
	background-position: 0 50%;
}

.qs-arrow.qs-left:hover:after {
	background-position: -2em 50%;
}

.qs-arrow.qs-right:after {
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22180%22%20height%3D%2250%22%3E%3Cpath%20fill%3D%22%2336486b%22%20d%3D%22M40%2050V0l31%2025z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M110%2050V0l31%2025z%22%2F%3E%3C%2Fsvg%3E");
	background-position: 0 50%;
}

.qs-arrow.qs-right:hover:after {
	background-position: -2em 50%;
}

.qs-month-year {
	font-weight: bold;
	padding: 0.4em 0.5em;
	cursor: pointer;
}

.qs-month-year:hover {
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-month-year:focus, .qs-month-year:active:focus {
	outline: none;
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-month {
	padding-right: .5ex;
}

.qs-year {
	padding-left: .5ex;
}

.qs-squares {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0em 0em 0em;
}

.qs-square {
	width: 14.2857%;
  /*  height: $qs-width / 10; */
	padding: 0.5em 0.8em;
	text-align: end;
	cursor: pointer;
	transition: background 0.1s;
	border-radius: 4px;
}

.qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover {
	border-radius: 4px;
	background-color: #e08119;
	color: white;
}

.qs-num {
	font-size: 1.2em;
	font-weight: bold;
}

.qs-current {
	border-radius: 4px;
	background-color: #6685ff;
	color: white;
}

/*
  3 range-possibilities:
    1. Single, active date.
    2. Daterange start selection.
    3. Daterange end selection.
*/
.qs-range-start {
	background: #8fa3ef;
	border-radius: 4px;
}

.qs-range-start:not(.qs-range-6) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.qs-range-middle {
	background: #bcc8f5;
	border-radius: 4px;
}

.qs-range-middle:not(.qs-range-0):not(.qs-range-6) {
	border-radius: 0;
}

.qs-range-middle.qs-range-0 {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.qs-range-middle.qs-range-6 {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.qs-range-end {
	background: #8fa3ef;
	border-radius: 4px;
}

.qs-range-end:not(.qs-range-0) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.qs-outside-current-month {
	opacity: .25;
}

.qs-active {
	background: #8fa3ef;
}

.qs-disabled {
	opacity: .4;
	cursor: not-allowed;
}

.qs-empty {
	cursor: default;
}

.qs-day {
	background-color: #d2daf9;
	font-weight: bold;
	color: #0a1543;
	text-align: center;
	cursor: default;
}

.qs-event {
	position: relative;
}

.qs-event:after {
	content: '';
	position: absolute;
	width: 0.66em;
	height: 0.66em;
	border-radius: 50%;
	background: #e60000;
	bottom: 0;
	right: 0;
}
